mirror of
https://git.um-react.app/um/lib_um_crypto_rust.git
synced 2026-03-08 04:29:54 +00:00
feat: allow override of buffer size
This commit is contained in:
@@ -3,6 +3,7 @@ use clap::Args;
|
||||
use std::fs::File;
|
||||
use std::io::{Read, Write};
|
||||
use std::path::PathBuf;
|
||||
use crate::Cli;
|
||||
|
||||
/// Decrypt a QMCv1 file
|
||||
#[derive(Args)]
|
||||
@@ -16,16 +17,13 @@ pub struct ArgsQMCv1 {
|
||||
input: PathBuf,
|
||||
}
|
||||
|
||||
// 4MiB buffer is working well on my machine.
|
||||
const BUFFER_SIZE: usize = 4 * 1024 * 1024;
|
||||
|
||||
impl ArgsQMCv1 {
|
||||
pub fn run(&self) -> Result<i32> {
|
||||
pub fn run(&self, cli: &Cli) -> Result<i32> {
|
||||
let mut file_input = File::open(&self.input)?;
|
||||
let mut file_output = File::create(&self.output)?;
|
||||
|
||||
let mut offset = 0usize;
|
||||
let mut buffer = vec![0u8; BUFFER_SIZE].into_boxed_slice();
|
||||
let mut buffer = vec![0u8; cli.buffer_size].into_boxed_slice();
|
||||
while let Ok(n) = file_input.read(&mut buffer) {
|
||||
if n == 0 {
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user