Add SoulseekRs::LockPoisoned variant and a small RwLockExt/MutexExt helper module exposing read_safe/write_safe/lock_safe that map PoisonError to that variant. Walk every non-test lock acquisition across client, peer/server actors, peer registry, listener and the thread pool: propagate via ? where the function returns Result, log and degrade to a sensible default (return early, false, None, empty) where it does not. Client::connect now returns Result so the CLI can surface the failure instead of panicking.
soulseek-rs
A command-line client for the Soulseek peer-to-peer network.
Installation
bash cargo install soulseek-rs
This will install the soulseek-rs binary to your system.
Usage
The client provides a simple interface to search and download files from the Soulseek network.
Building from Source
cargo build --release ```
## Library
If you want to build your own Soulseek client, check out the
[soulseek-rs-lib](https://crates.io/crates/soulseek-rs-lib) library crate.