pravega_client/lib.rs
1//
2// Copyright (c) Dell Inc., or its subsidiaries. All Rights Reserved.
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10
11#![allow(dead_code)]
12#![deny(
13 clippy::all,
14 clippy::cargo,
15 clippy::else_if_without_else,
16 clippy::empty_line_after_outer_attr,
17 clippy::multiple_inherent_impl,
18 clippy::mut_mut,
19 clippy::path_buf_push_overwrite
20)]
21#![warn(
22 clippy::cargo_common_metadata,
23 clippy::mutex_integer,
24 clippy::needless_borrow,
25 clippy::similar_names
26)]
27// clippy::result_large_err will be fixed by https://github.com/pravega/pravega-client-rust/issues/413.
28#![allow(
29 clippy::multiple_crate_versions,
30 clippy::result_large_err,
31 clippy::needless_doctest_main
32)]
33#![allow(bare_trait_objects)]
34#![recursion_limit = "1024"]
35#![allow(clippy::redundant_allocation)]
36
37//! A Rust client for [Pravega].
38//!
39//! [Pravega] is an open source storage system implementing Streams as first-class
40//! primitive for storing/serving continuous and unbounded data. It has a number of exciting features
41//! including Exactly Once Semantics, Auto Scaling, Unlimited Retention and etc. More details
42//! at the [website].
43//!
44//! Pravega client in Rust provides a few APIs at high level:
45//! * [Event] provides a way to write and read discrete item.
46//! * [Byte] provides a way to write and read raw bytes.
47//!
48//! [Pravega]: https://www.pravega.io/
49//! [website]: http://pravega.io/docs/latest/key-features/#pravega-key-features
50//! [Event]: crate::event
51//! [Byte]: crate::byte
52//!
53pub mod byte;
54pub mod client_factory;
55pub mod event;
56pub mod index;
57pub mod sync;
58
59#[cfg(feature = "cli")]
60pub mod cli;
61pub(crate) mod segment;
62#[cfg(feature = "integration-test")]
63#[doc(hidden)]
64pub mod test_utils;
65#[doc(hidden)]
66#[macro_use]
67pub mod util;
68#[macro_use]
69extern crate derive_new;
70pub mod error;