Baseline: full tree snapshot after git repository loss

The previous .git directory was found gutted (only info/ remained), so
history is unrecoverable locally. This commit restores version control
with the tree exactly as it stands: the working app, the preview-tracks
launcher on the artist hero, the scrollable-track-previews design bundle
(docs + approved mockups), and the Phase 0 validation artifacts.
This commit is contained in:
KeelrLeek committed 2026-07-22 17:57:00 -05:00
commit a667b4b28e
161 files changed
+53170

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
//! Soulseek protocol messages and binary codecs.
//!
//! Wire format: every message is `[u32 length][code][payload]`, little-endian
//! throughout. Server and peer messages use a `u32` code; connection
//! initialization messages (PeerInit / PierceFirewall) use a single-byte code.
//! Strings are `[u32 len][bytes]`, UTF-8 with Latin-1 fallback on decode.
//! Search responses and browse payloads are zlib-compressed after the code.
//!
//! Reference: Soulseek.NET `src/Messaging/**` and the Nicotine+ protocol docs.
pub mod dist;
pub mod peer;
pub mod server;
pub mod types;
pub mod wire;
#[derive(Debug, thiserror::Error)]
pub enum ProtoError {
#[error("message payload ended unexpectedly")]
UnexpectedEof,
#[error("zlib decompression failed: {0}")]
Zlib(#[from] std::io::Error),
#[error("message too large: {0} bytes")]
TooLarge(usize),
}
pub type Result<T> = std::result::Result<T, ProtoError>;
/// Sanity cap on a single message frame (search responses from big shares
/// run a few hundred KB; browse responses can reach tens of MB).
pub const MAX_MESSAGE_SIZE: usize = 64 * 1024 * 1024;