docs.rs failed to build hippox-drivers-0.3.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Working Principle
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β DRIVER REGISTRY β
β β
β DriverRegistryMap = HashMap<DriverCategory, β
β HashMap<String, Arc<dyn Driver>>> β
β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
β β File β β Math β β Net β β
β ββββββββββββ€ ββββββββββββ€ ββββββββββββ€ β
β β read β β calc β β http β β
β β write β β power β β ping β β
β β delete β β stats β β dns β β
β β ... β β ... β β ... β β
β ββββββββββββ ββββββββββββ ββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Registration:
Compile-time: file_register() / math_register() / net_register()
Runtime: register_driver(category, name, driver)
Query:
get_driver_by_name("read") β Driver impl β execute()
Core Type
pub type DriverRegistryMap = ;
Main Functions
| Function | Description |
|---|---|
| get_registry() | Get read lock on the registry |
| get_registry_mut() | Get write lock on the registry |
| register_driver(category, name, driver) | Dynamically register a driver |
| get_all_drivers() | Get all registered drivers |
| get_driver_by_name(name) | Find a driver by name |
| get_driver_by_name_and_category(name, category) | Find a driver by name and category |
| has_driver(name) | Check if a driver exists |
| list_drivers_names() | List all driver names |
| list_drivers_name_by_category(category) | List driver names in a category |
| get_drivers_by_category(category) | Get drivers by category string |
| get_drivers_by_category_list(categories) | Get drivers by multiple categories |
| list_drivers_name_by_category_list(categories) | List driver names by multiple categories |
| get_all_categorys() | Get all category names |
| get_driver_category() | Get categories with driver counts |
| get_driver_category_names() | Get all category names |
| get_driver_category_name_and_describe() | Get category names with descriptions |
| generate_driver_registry_table_json_str() | Generate registry JSON string |
DriverCategory Methods
| Method | Description |
|---|---|
| from_str(s) | Convert string to enum |
| name() | Convert enum to string (lowercase) |
| display_name() | Get human-readable display name |
| description() | Get category description |
| icon() | Get category icon/emoji |
| priority() | Get display priority (lower = first) |
| metadata() | Get complete category metadata |
| all_categories() | Get metadata for all categories |