Reference entry points
Use a reference when you already know the operation and need an exact option, type or compatibility rule. Start with quick start for a procedure, or architecture overview for responsibilities.
Find the owner of a question
| Question | Authoritative entry |
|---|---|
| Which packages and minimum Rust version belong to this source? | Root manifest and toolchain |
| Which files/settings start the Broker? | Broker configuration and deployment overview |
| Which NameServer flags and merge rules apply? | Service configuration |
| How do Controller/Proxy modes start? | Service configuration and the corresponding deployment guide |
| Which client builders and Cargo features exist? | Client configuration and manifest |
| What does a send result mean? | Producer result table and canonical result types |
| What does LitePull commit mean? | Polling and commit semantics |
| Which administration command accepts this option? | Admin CLI and that subcommand's --help |
| Which error identity should an integration retain? | Error guide and catalog |
| Which request/response codes or header types are used? | Protocol guide and source |
| Which limits and TLS capabilities belong to networking? | Transport guide |
| Which storage durability and progress types apply? | Storage design and Store API |
| How are metrics, logs and traces configured? | Observability guide and configuration |
| Which product-specific configuration applies? | Ecosystem overview and the selected standalone product |
These source references describe the current checkout family. A published release can have different options and APIs; use its source/tag and artifacts together.
Read a configuration field completely
For each field, identify the external key, owning section, type, default, unit, constraints, precedence and reload behavior. Do not infer those properties solely from a Rust field name.
For example, Broker listenPort belongs in [broker], while its nested server configuration supplies binding details. The source uses separate Broker metadata and message-store roots. Copying a flat legacy file or moving a field to a similarly named section can change parsing or be rejected.
An option may require a build feature and a runtime setting. The Rust client has no standalone tls Cargo feature; the transport implementation and actual endpoint configuration control that capability. Likewise, a metrics feature does not automatically select an exporter endpoint.
Inspect the command you will run
From the repository root:
cargo run -p rocketmq-admin-cli -- --help
cargo run -p rocketmq-admin-cli -- topic updateTopic --help
cargo run -p rocketmq-admin-cli -- consumer updateSubGroup --help
CLI options belong to their declared level. Current clusterList and updateSubGroup use NAMESRV_ADDR rather than accepting -n; Topic commands accept their own -n. A command name copied from another RocketMQ tool is not proof that all flags are interchangeable.
Before running a command, distinguish reads from metadata changes, offset changes or data operations. First diagnosis provides a small read-only sequence and explains state effects.
Generate Rust API documentation for your source
To inspect the current client API locally:
cargo doc -p rocketmq-client-rust --no-deps --open
This generates documentation for the selected package and feature graph. Add the features your application actually uses, and generate standalone products from their own manifest. Published API documentation may describe a different release from 1.0.0 development.
Import curated public types from the crate root or its documented api/prelude. Files under implementation modules are not automatically public integration contracts.
Compatibility has several dimensions
Rust source API, serialized fields, request/response codes, persisted layouts, Controller internals and operational behavior are separate compatibility surfaces. Matching one does not establish the others.
The capability matrix records relevant mode/feature conditions. The module map identifies owners when a shared contract changes. Keep exact versions and observed scenarios with compatibility claims rather than using a blanket “fully compatible” label.
Reference and migration pages
- Features and platforms: package defaults, native prerequisites and runtime conditions.
- Errors and status: stable identities, boundary mappings and retry decisions.
- Protocol compatibility: endpoints, scope, evidence and storage boundaries.
- Admin CLI: command catalog, parameters, effects and exit behavior.
- Java migration: client, cluster and data migration procedures.
- Rust API migration: public imports, owned runtimes and Classic/LitePull changes.