Crate seedlink [−] [src]
SeedLink Client
More information and SeedLink Documentation at:
https://www.seiscomp3.org/wiki/doc/applications/seedlink
⚠Be careful when using this code, it's not being tested!
extern crate seedlink; use seedlink::SeedLinkClient; fn read() { let addr = "rtserve.iris.washington.edu"; let port = 18000; let mut slc = SeedLinkClient::new(addr, port); // Say Hello slc.hello().expect("bad hello"); // Read Response let mut data = vec![0u8;2048]; let n = slc.read(&mut data).expect("bad read"); let v = data[..n].to_vec(); let s = String::from_utf8(v).expect("Found invalid UTF-8"); println!("data: {:?}", s); // Initiate Data Stream slc.start().expect("bad start"); let mut buf = vec![]; // Read Response loop { println!("Waiting on read ..."); let n = slc.read(&mut data).expect("bad read"); buf.extend(data[..n].iter().cloned()); // 520 bytes = 8 for header + 512 for data if buf.len() >= 520 { // Parse data let (num, rec) = seedlink::parse(&mut buf).unwrap(); println!("{}: {}", num, rec); break; } } // Say Good bye slc.bye().expect("bad bye"); }
Structs
SeedLinkClient |
SeedLink Client |
Seedlink |
SeedLink Metadata |
Station |
SeedLink Station Metadata |
Stream |
SeedLink Stream Metadata |
StreamID |
Stream Identifier representing the network, station, location and channel |
Enums
SLError |
SeedLink Error |
Functions
parse |
Parse a SeedLink Packet |
parse_header |
Parse a SeedLink Packet Header |