4a0f88b17d
Client.Rust-022 Restored Error::MalformedReply for register / add_item /
add_item2 and the bulk-subscribe / read-bulk / write-bulk
dispatch arms so malformed-but-OK replies fail loudly
instead of returning Vec::new().
Client.Rust-023 Restored next_correlation_id and routed every CLI close /
stream-alarms / acknowledge-alarm / bench-read-bulk call
through it so each call carries a unique opaque token.
Client.Rust-024 Added round-trip tests for read_bulk / write_bulk /
write2_bulk / write_secured_bulk / write_secured2_bulk
plus stream_alarms and percentile_summary unit tests.
Client.Rust-025 RustClientDesign.md re-synced — new bulk SDK, alarms
surface, Error variants, CLI command list, and the
Windows stack workaround.
Client.Rust-026 Session::read_bulk now borrows a tag slice; bench-read-
bulk binds tags once outside the warm-up / steady-state
loops.
Client.Rust-027 .cargo/config.toml selector tightened to
cfg(all(windows, target_env = "msvc")) and comment
rewritten to match reality (release + debug ship the
8 MB reservation).
Client.Rust-028 run_batch removed the empty-line break; stdin EOF is
the only terminator.
Client.Rust-029 Re-applied Client.Rust-001 / 002 / 012 — added the
missing doc comments, renamed BulkReplyKind variants,
and replaced the clone-on-copy with a deref under lock
so cargo clippy -D warnings is clean.
All resolved at 2026-05-24; cargo fmt + check + clippy + test all green
(55 tests).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
40 lines
1.3 KiB
Rust
40 lines
1.3 KiB
Rust
//! Rust client for the MXAccess Gateway.
|
|
//!
|
|
//! The crate compiles generated `tonic` bindings from the shared gateway
|
|
//! protobuf contracts and exposes a small handwritten surface — connection
|
|
//! options, an authentication interceptor, gateway and Galaxy Repository
|
|
//! clients, an `MxValue` builder/projection, and protocol-error types — that
|
|
//! application code can use without touching the generated modules directly.
|
|
//!
|
|
//! See the project root `RustClientDesign.md` for the design rationale and
|
|
//! the cross-language client matrix.
|
|
|
|
#![warn(missing_docs)]
|
|
|
|
pub mod auth;
|
|
pub mod client;
|
|
pub mod error;
|
|
pub mod galaxy;
|
|
pub mod generated;
|
|
pub mod options;
|
|
pub mod session;
|
|
pub mod value;
|
|
pub mod version;
|
|
|
|
#[doc(inline)]
|
|
pub use auth::{ApiKey, AuthInterceptor};
|
|
#[doc(inline)]
|
|
pub use client::{AlarmFeedStream, EventStream, GatewayClient};
|
|
#[doc(inline)]
|
|
pub use error::{CommandError, Error};
|
|
#[doc(inline)]
|
|
pub use galaxy::{DeployEventStream, GalaxyClient};
|
|
#[doc(inline)]
|
|
pub use options::ClientOptions;
|
|
#[doc(inline)]
|
|
pub use session::{next_correlation_id, Session};
|
|
#[doc(inline)]
|
|
pub use value::{MxArrayProjection, MxArrayValue, MxStatus, MxValue, MxValueProjection};
|
|
#[doc(inline)]
|
|
pub use version::{CLIENT_VERSION, GATEWAY_PROTOCOL_VERSION, WORKER_PROTOCOL_VERSION};
|