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
#![cfg_attr( nightly, feature(doc_cfg) )]
#![cfg_attr( nightly, cfg_attr( nightly, doc = include_str!("../README.md") ))]
#![ doc = "" ]
#![ doc ( html_root_url = "https://docs.rs/futures_ringbuf" ) ]
#![ deny ( missing_docs ) ]
#![ forbid ( unsafe_code ) ]
#![ allow ( clippy::suspicious_else_formatting ) ]
#![ warn
(
missing_debug_implementations ,
nonstandard_style ,
rust_2018_idioms ,
trivial_casts ,
trivial_numeric_casts ,
unused_extern_crates ,
unused_qualifications ,
single_use_lifetimes ,
unreachable_pub ,
variant_size_differences ,
)]
mod ring_buffer ;
pub use self::ring_buffer ::* ;
mod async_read;
mod async_write;
mod endpoint;
pub use async_read ::*;
pub use async_write::*;
pub use endpoint ::*;
#[ cfg( feature = "sketchy" ) ] mod dictator;
#[ cfg( feature = "sketchy" ) ] mod sketchy;
#[ cfg( feature = "sketchy" ) ] pub use dictator::*;
#[ cfg( feature = "sketchy" ) ] pub use sketchy::*;
mod import
{
pub(crate) use
{
std :: { fmt, task::Waker } ,
ringbuf :: { RingBuffer as SyncRingBuffer, Producer, Consumer } ,
futures :: { AsyncRead, AsyncWrite, AsyncReadExt } ,
futures::io :: { ReadHalf, WriteHalf } ,
futures :: { task::noop_waker } ,
std :: { io, pin::Pin, task::{ Context, Poll } } ,
};
#[ cfg(test) ]
pub(crate) use
{
futures :: { AsyncWriteExt } ,
pretty_assertions :: { assert_eq } ,
futures :: { executor::block_on } ,
futures_test :: { task::{ new_count_waker } } ,
};
}