chore: remove flate2 as dependency for zlib decompression

This commit is contained in:
Michel de Graaf
2025-06-29 21:59:14 +02:00
parent c654f7dcdb
commit 78ac774e82
4 changed files with 390 additions and 1178 deletions
Generated
-43
View File
@@ -2,49 +2,6 @@
# It is not intended for manual editing. # It is not intended for manual editing.
version = 4 version = 4
[[package]]
name = "adler2"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
[[package]]
name = "cfg-if"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268"
[[package]]
name = "crc32fast"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
dependencies = [
"cfg-if",
]
[[package]]
name = "flate2"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d"
dependencies = [
"crc32fast",
"miniz_oxide",
]
[[package]]
name = "miniz_oxide"
version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
dependencies = [
"adler2",
]
[[package]] [[package]]
name = "soulseek_download" name = "soulseek_download"
version = "0.1.0" version = "0.1.0"
dependencies = [
"flate2",
]
-2
View File
@@ -3,5 +3,3 @@ name = "soulseek_download"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies]
flate2 = "1.0.35"
+4 -8
View File
@@ -1,8 +1,7 @@
use crate::message::{Message, MessageHandler}; use crate::message::{Message, MessageHandler};
use crate::peer::PeerOperation; use crate::peer::PeerOperation;
use flate2::bufread::ZlibDecoder; use crate::utils::zlib::deflate;
use std::collections::HashMap; use std::collections::HashMap;
use std::io::Read;
use std::sync::mpsc::Sender; use std::sync::mpsc::Sender;
#[derive(Debug)] #[derive(Debug)]
@@ -20,18 +19,15 @@ pub struct FileSearch {
pub speed: i32, pub speed: i32,
} }
fn unzip_buffer(buffer: &[u8]) -> Result<Vec<u8>, Box<dyn std::error::Error>> { fn decompress_buffer(buffer: &[u8]) -> Result<Vec<u8>, String> {
let mut z = ZlibDecoder::new(buffer); deflate(buffer)
let mut out: Vec<u8> = Vec::new();
z.read_to_end(&mut out).unwrap();
Ok(out)
} }
impl FileSearch { impl FileSearch {
pub fn new_from_message(message: &mut Message) -> Self { pub fn new_from_message(message: &mut Message) -> Self {
let pointer = message.get_pointer(); let pointer = message.get_pointer();
let size = message.get_size(); let size = message.get_size();
let data: Vec<u8> = message.get_slice(pointer, size); let data: Vec<u8> = message.get_slice(pointer, size);
let deflated = unzip_buffer(&data).unwrap(); let deflated = decompress_buffer(&data).unwrap();
let mut message = Message::new_with_data(deflated); let mut message = Message::new_with_data(deflated);
let username = message.read_string(); let username = message.read_string();
+389 -1128
View File
File diff suppressed because it is too large Load Diff