Expand description
Shared infrastructure for the marque workspace, ported from recoco-utils.
The crate collects small, dependency-light building blocks that several
marque crates reuse. Every module past error and prelude sits behind
its own Cargo feature, so a consumer pulls in only what it needs and nothing
drags in the others:
error— the workspace error type, context combinators, and theclient_*/internal_*/api_*bail macros. Always compiled.prelude— the handful of names most call sites want in scope.concur_control(featureconcur_control) — semaphore-based backpressure on in-flight rows and bytes.batching(featurebatching) — coalesces concurrent single-item calls into batched runner invocations.fingerprint(featurefingerprint) — a 128-bit structural hash of anySerializevalue, built on BLAKE3.retryable(featureretryable) — retry-with-backoff around a fallible async operation.bytes_decode(featurebytes_decode) — decodes a byte buffer to text, sniffing the BOM and falling back to UTF-8.
Modules§
- error
- The workspace error type and the helpers that build on it.
- prelude
- The names most marque code wants from this crate.
Macros§
- api_
bail - Returns early with a formatted
ApiError, converted into the caller’s error type via.into(). - api_
error - Builds a formatted
ApiErrorwithout returning. - client_
bail - Returns early with a formatted
Error::client. - client_
error - Builds a formatted
Error::clientwithout returning. - internal_
bail - Returns early with a formatted
Error::internal_msg. - internal_
error - Builds a formatted
Error::internal_msgwithout returning.