Skip to content

Commit 1ec5dd2

Browse files
committed
Add discovery example
1 parent ebea539 commit 1ec5dd2

3 files changed

Lines changed: 58 additions & 0 deletions

File tree

Cargo.lock

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

discovery/Cargo.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,11 @@ path = "../core"
2929
default_features = false
3030
version = "0.2.0"
3131

32+
[dev-dependencies]
33+
futures = "0.3"
34+
hex = "0.4"
35+
simple_logger = "1.11"
36+
tokio = { version = "1.0", features = ["macros", "rt"] }
37+
3238
[features]
3339
with-dns-sd = ["dns-sd"]

discovery/examples/discovery.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
use futures::StreamExt;
2+
use librespot_discovery::DeviceType;
3+
use sha1::{Digest, Sha1};
4+
use simple_logger::SimpleLogger;
5+
6+
#[tokio::main(flavor = "current_thread")]
7+
async fn main() {
8+
SimpleLogger::new()
9+
.with_level(log::LevelFilter::Debug)
10+
.init()
11+
.unwrap();
12+
13+
let name = "Librespot".to_string();
14+
let device_id = hex::encode(Sha1::digest(name.as_bytes()));
15+
16+
let mut server = librespot_discovery::Discovery::builder(device_id)
17+
.name(name)
18+
.device_type(DeviceType::Computer)
19+
.launch()
20+
.unwrap();
21+
22+
while let Some(x) = server.next().await {
23+
println!("Received {:?}", x);
24+
}
25+
}

0 commit comments

Comments
 (0)