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