Skip to content

Commit dc30039

Browse files
committed
Merge branch 'features' of https://github.com/mbrubeck/async-tls into mbrubeck-features
2 parents dc1b3b2 + ad27db7 commit dc30039

File tree

5 files changed

+46
-5
lines changed

5 files changed

+46
-5
lines changed

.travis.yml

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ script:
2121
fi
2222
- cargo test
2323
- cargo test --features early-data
24+
- cargo test ---no-default-features --features client
25+
- cargo test ---no-default-features --features server
2426
- cd examples/server
2527
- cargo check
2628
- cd ../../examples/client

Cargo.toml

+13-2
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,24 @@ appveyor = { repository = "async-std/async-tls" }
1818
[dependencies]
1919
futures = "0.3.4"
2020
rustls = "0.18.0"
21-
webpki = "0.21.2"
22-
webpki-roots = "0.19.0"
21+
webpki = { version = "0.21.2", optional = true }
22+
webpki-roots = { version = "0.19.0", optional = true }
2323

2424
[features]
25+
default = ["client", "server"]
26+
client = ["webpki", "webpki-roots"]
2527
early-data = []
28+
server = []
2629

2730
[dev-dependencies]
2831
lazy_static = "1"
2932
futures-util = "0.3"
3033
async-std = { version = "1.0", features = ["unstable"] }
34+
35+
[[test]]
36+
name = "test"
37+
required-features = ["client", "server"]
38+
39+
[[test]]
40+
name = "google"
41+
required-features = ["client"]

README.md

+23
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,29 @@
4848

4949
<br/>
5050

51+
# Features
52+
53+
`async-tls` can be used both in server and client programs. To save compilation times, you
54+
can switch off parts of this for faster compile times.
55+
56+
To only use async-tls on a client, deactivate default features and use the "client" feature.
57+
58+
```toml
59+
[dependencies.async-tls]
60+
version = "0.8"
61+
default-features = false
62+
features = ["client"]
63+
```
64+
65+
To only use async-tls on for the server side, deactivate default features and use the "server" feature.
66+
67+
```toml
68+
[dependencies.async-tls]
69+
version = "0.8"
70+
default-features = false
71+
features = ["server"]
72+
```
73+
5174
### Simple Client
5275

5376
```rust

src/lib.rs

+7-2
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,21 @@
22
33
#![deny(unsafe_code)]
44

5+
#[cfg(feature = "server")]
56
mod acceptor;
7+
#[cfg(feature = "client")]
68
pub mod client;
79
mod common;
10+
#[cfg(feature = "client")]
811
mod connector;
912
mod rusttls;
13+
#[cfg(feature = "server")]
1014
pub mod server;
1115

16+
#[cfg(feature = "server")]
1217
pub use acceptor::{Accept, TlsAcceptor};
18+
#[cfg(feature = "client")]
1319
pub use connector::{Connect, TlsConnector};
1420

15-
#[cfg(feature = "early-data")]
16-
#[cfg(test)]
21+
#[cfg(all(test, feature = "client", feature = "early-data"))]
1722
mod test_0rtt;

src/rusttls/stream.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,6 @@ impl<'a, IO: AsyncRead + AsyncWrite + Unpin, S: Session> AsyncWrite for Stream<'
257257
}
258258
}
259259

260-
#[cfg(test)]
260+
#[cfg(all(test, feature = "client"))]
261261
#[path = "test_stream.rs"]
262262
mod test_stream;

0 commit comments

Comments
 (0)