Merge pull request #3 from Tahinli/dev

feat: chunk size
debug: prints open
refactor: chunk type
This commit is contained in:
Ahmet Kaan GÜMÜŞ 2023-10-16 23:21:40 +03:00 committed by GitHub
commit 94ee575402
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,7 +5,7 @@ use std::io::{Read, Write, self, BufWriter, BufReader, BufRead};
use std::env::{self};
const BUFFER_SIZE:usize = 100000;
const BUFFER_SIZE:u64 = 1000000;
struct FileInfo
{
file:Option<File>,
@ -73,21 +73,21 @@ impl FileInfo
fn send_file(&mut self, stream:&mut TcpStream)
{
let size = self.metadata.as_ref().unwrap().len();
let mut iteration = (size/BUFFER_SIZE as u64)+1;
let mut iteration = (size/BUFFER_SIZE)+1;
self.handshake_validation(stream, size);
println!("Size = {}", size);
println!("Iteration = {}", iteration);
while iteration != 0
{
iteration -= 1;
let mut buffer = [0u8;BUFFER_SIZE];
let mut buffer = [0u8;BUFFER_SIZE as usize];
if iteration != 0
{
self.read_exact(&mut buffer);
}
else
{
self.read_exact(&mut buffer[..(size%BUFFER_SIZE as u64) as usize]);
self.read_exact(&mut buffer[..(size%BUFFER_SIZE) as usize]);
}
self.send_exact(&mut buffer, stream);
@ -103,6 +103,7 @@ impl FileInfo
if handshake_callback == size.to_string().as_bytes().to_vec()
{
println!("Done: Handshake -> {}", self.location);
println!("{:#?} ", handshake_callback);
}
else
{
@ -140,7 +141,8 @@ impl FileInfo
Ok(_) =>
{
self.size_current += buffer.len();
//println!("Done: Send Bytes -> {}", self.location);
println!("Done: Send Bytes -> {}", self.location);
println!("{:#?}", buffer);
}
Err(err_val) =>
{
@ -169,7 +171,8 @@ impl FileInfo
Ok(_) =>
{
self.size_current += buffer.len();
//println!("Done: Receive Bytes -> {}", self.location);
println!("Done: Receive Bytes -> {}", self.location);
println!("{:#?}", buffer);
}
Err(err_val) =>
{
@ -186,7 +189,8 @@ impl FileInfo
{
Ok(_) =>
{
//println!("Done: Receive Until -> {}", self.location);
println!("Done: Receive Until -> {}", self.location);
println!("{:#?}", buffer);
buffer.pop();
}
Err(err_val) =>
@ -207,7 +211,6 @@ impl FileInfo
{
Some(mut handshake) =>
{
// try then commit
println!("Done: Handshake -> {}", self.location);
println!("{:#?} ", handshake);
let size = String::from_utf8(handshake.clone()).unwrap().parse().unwrap();
@ -229,7 +232,7 @@ impl FileInfo
{
Ok(_) =>
{
//println!("Done: Write -> {} | {} bytes", self.location, self.size_current);
println!("Done: Write -> {} | {} bytes", self.location, self.size_current);
}
Err(err_val) =>
{
@ -253,13 +256,13 @@ impl FileInfo
fn write_file(&mut self, stream:&mut TcpStream)
{
let size = self.handshake_recv(stream);
let mut iteration:u64 = (size/BUFFER_SIZE as u64)+1;
let mut iteration:u64 = (size/BUFFER_SIZE)+1;
println!("Size = {}", size);
println!("Iteration = {}", iteration);
while iteration != 0
{
iteration -= 1;
let mut buffer = [0u8;BUFFER_SIZE];
let mut buffer = [0u8;BUFFER_SIZE as usize];
self.recv_exact(&mut buffer, stream);
if iteration != 0
{
@ -267,7 +270,7 @@ impl FileInfo
}
else
{
self.save_exact(&buffer[..(size%BUFFER_SIZE as u64) as usize]);
self.save_exact(&buffer[..(size%BUFFER_SIZE) as usize]);
}
}
}