Expand description
Async SeedLink client for real-time seismic data streaming.
Connect to SeedLink v3/v4 servers (IRIS, BMKG, GEOFON, etc.) and receive miniSEED records in real-time over TCP.
§Example
use seedlink_rs_client::SeedLinkClient;
let mut client = SeedLinkClient::connect("rtserve.iris.washington.edu:18000").await?;
client.station("ANMO", "IU").await?;
client.select("BHZ").await?;
client.data().await?;
client.end_stream().await?;
while let Some(frame) = client.next_frame().await? {
println!("seq={}, payload={} bytes", frame.sequence(), frame.payload().len());
}Structs§
- Client
Config - Configuration for
SeedLinkClientconnections. - Data
Frame - Owned frame with decoded miniSEED record.
- Reconnect
Config - Configuration for automatic reconnect with exponential backoff.
- Reconnecting
Client - A wrapper around
SeedLinkClientthat automatically reconnects on disconnect. - Seed
Link Client - Async SeedLink client for connecting to seismic data servers.
- Server
Info - Information about the connected SeedLink server, parsed from HELLO.
- Station
Key - Network + station identifier used as a key for sequence tracking.
Enums§
- Client
Error - Errors that can occur during SeedLink client operations.
- Client
State - Client connection state machine.
- Owned
Frame - An owned SeedLink frame with its payload copied to the heap.
Traits§
- Stream
- A stream of values produced asynchronously.
Functions§
- frame_
stream - Convert a streaming
SeedLinkClientinto aStreamof frames.
Type Aliases§
- Result
- Convenience alias for
Result<T, ClientError>.