Skip to content

Commit

Permalink
Implement Clone for CompressionLz4
Browse files Browse the repository at this point in the history
This should be derived once 10XGenomics/lz4-rs#30 released.
  • Loading branch information
tisonkun committed Nov 15, 2022
1 parent 1c8b742 commit ddebc4c
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions src/compression.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
//! Compression strategy configs

use lz4::block::CompressionMode;

#[derive(Clone, Debug)]
pub enum Compression {
None,
Expand All @@ -9,9 +11,9 @@ pub enum Compression {
Snappy,
}

#[derive(Clone, Debug)]
#[derive(Debug)]
pub struct CompressionLz4 {
pub mode: lz4::block::CompressionMode,
pub mode: CompressionMode,
}

#[derive(Clone, Debug)]
Expand All @@ -33,7 +35,7 @@ impl Default for Compression {
impl Default for CompressionLz4 {
fn default() -> Self {
CompressionLz4 {
mode: lz4::block::CompressionMode::DEFAULT,
mode: CompressionMode::DEFAULT,
}
}
}
Expand All @@ -54,3 +56,14 @@ impl Default for CompressionZstd {
}
}

impl Clone for CompressionLz4 {
fn clone(&self) -> Self {
CompressionLz4 {
mode: match self.mode {
CompressionMode::HIGHCOMPRESSION(i) => CompressionMode::HIGHCOMPRESSION(i),
CompressionMode::FAST(i) => CompressionMode::FAST(i),
CompressionMode::DEFAULT => CompressionMode::DEFAULT,
}
}
}
}

0 comments on commit ddebc4c

Please sign in to comment.