Avoid virtual calls when loading files.

This commit is contained in:
Ms2ger 2015-04-10 11:54:44 +02:00
parent ebf5a70b51
commit 6881776d81

View file

@ -8,8 +8,8 @@ use mime_classifier::MIMEClassifier;
use resource_task::{start_sending, start_sending_sniffed}; use resource_task::{start_sending, start_sending_sniffed};
use std::borrow::ToOwned; use std::borrow::ToOwned;
use std::io;
use std::fs::File; use std::fs::File;
use std::io::Read;
use std::path::PathBuf; use std::path::PathBuf;
use std::sync::Arc; use std::sync::Arc;
use std::sync::mpsc::Sender; use std::sync::mpsc::Sender;
@ -22,7 +22,7 @@ enum ReadStatus {
EOF, EOF,
} }
fn read_block(reader: &mut io::Read) -> Result<ReadStatus, String> { fn read_block(reader: &mut File) -> Result<ReadStatus, String> {
let mut buf = vec![0; READ_SIZE]; let mut buf = vec![0; READ_SIZE];
match reader.read(buf.as_mut_slice()) { match reader.read(buf.as_mut_slice()) {
Ok(0) => return Ok(ReadStatus::EOF), Ok(0) => return Ok(ReadStatus::EOF),
@ -34,7 +34,7 @@ fn read_block(reader: &mut io::Read) -> Result<ReadStatus, String> {
} }
} }
fn read_all(reader: &mut io::Read, progress_chan: &Sender<ProgressMsg>) fn read_all(reader: &mut File, progress_chan: &Sender<ProgressMsg>)
-> Result<(), String> { -> Result<(), String> {
loop { loop {
match try!(read_block(reader)) { match try!(read_block(reader)) {