Remove the unused CancellationListener arguments in filemanager_thread.

This commit is contained in:
Ms2ger 2016-11-22 10:12:25 +01:00
parent 5febfdc4d6
commit 7913f3adaf
4 changed files with 16 additions and 27 deletions

View file

@ -31,7 +31,7 @@ pub fn load_blob_sync
let (sender, receiver) = ipc::channel().unwrap(); let (sender, receiver) = ipc::channel().unwrap();
let check_url_validity = true; let check_url_validity = true;
filemanager.read_file(sender, id, check_url_validity, origin, None); filemanager.read_file(sender, id, check_url_validity, origin);
let blob_buf = match receiver.recv().unwrap() { let blob_buf = match receiver.recv().unwrap() {
Ok(ReadFileProgress::Meta(blob_buf)) => blob_buf, Ok(ReadFileProgress::Meta(blob_buf)) => blob_buf,

View file

@ -7,7 +7,6 @@ use mime_guess::guess_mime_type_opt;
use net_traits::blob_url_store::{BlobBuf, BlobURLStoreError}; use net_traits::blob_url_store::{BlobBuf, BlobURLStoreError};
use net_traits::filemanager_thread::{FileManagerResult, FileManagerThreadMsg, FileOrigin, FilterPattern}; use net_traits::filemanager_thread::{FileManagerResult, FileManagerThreadMsg, FileOrigin, FilterPattern};
use net_traits::filemanager_thread::{FileManagerThreadError, ReadFileProgress, RelativePos, SelectedFile}; use net_traits::filemanager_thread::{FileManagerThreadError, ReadFileProgress, RelativePos, SelectedFile};
use resource_thread::CancellationListener;
use std::collections::HashMap; use std::collections::HashMap;
use std::fs::File; use std::fs::File;
use std::io::{Read, Seek, SeekFrom}; use std::io::{Read, Seek, SeekFrom};
@ -128,12 +127,11 @@ impl FileManager {
sender: IpcSender<FileManagerResult<ReadFileProgress>>, sender: IpcSender<FileManagerResult<ReadFileProgress>>,
id: Uuid, id: Uuid,
check_url_validity: bool, check_url_validity: bool,
origin: FileOrigin, origin: FileOrigin) {
cancel_listener: Option<CancellationListener>) {
let store = self.store.clone(); let store = self.store.clone();
spawn_named("read file".to_owned(), move || { spawn_named("read file".to_owned(), move || {
if let Err(e) = store.try_read_file(&sender, id, check_url_validity, if let Err(e) = store.try_read_file(&sender, id, check_url_validity,
origin, cancel_listener) { origin) {
let _ = sender.send(Err(FileManagerThreadError::BlobURLStoreError(e))); let _ = sender.send(Err(FileManagerThreadError::BlobURLStoreError(e)));
} }
}) })
@ -153,7 +151,6 @@ impl FileManager {
/// Message handler /// Message handler
pub fn handle<UI>(&self, pub fn handle<UI>(&self,
msg: FileManagerThreadMsg, msg: FileManagerThreadMsg,
cancel_listener: Option<CancellationListener>,
ui: &'static UI) ui: &'static UI)
where UI: UIProvider + 'static, where UI: UIProvider + 'static,
{ {
@ -171,7 +168,7 @@ impl FileManager {
}) })
} }
FileManagerThreadMsg::ReadFile(sender, id, check_url_validity, origin) => { FileManagerThreadMsg::ReadFile(sender, id, check_url_validity, origin) => {
self.read_file(sender, id, check_url_validity, origin, cancel_listener); self.read_file(sender, id, check_url_validity, origin);
} }
FileManagerThreadMsg::PromoteMemory(blob_buf, set_valid, sender, origin) => { FileManagerThreadMsg::PromoteMemory(blob_buf, set_valid, sender, origin) => {
self.promote_memory(blob_buf, set_valid, sender, origin); self.promote_memory(blob_buf, set_valid, sender, origin);
@ -393,8 +390,7 @@ impl FileManagerStore {
fn get_blob_buf(&self, sender: &IpcSender<FileManagerResult<ReadFileProgress>>, fn get_blob_buf(&self, sender: &IpcSender<FileManagerResult<ReadFileProgress>>,
id: &Uuid, origin_in: &FileOrigin, rel_pos: RelativePos, id: &Uuid, origin_in: &FileOrigin, rel_pos: RelativePos,
check_url_validity: bool, check_url_validity: bool) -> Result<(), BlobURLStoreError> {
cancel_listener: Option<CancellationListener>) -> Result<(), BlobURLStoreError> {
let file_impl = try!(self.get_impl(id, origin_in, check_url_validity)); let file_impl = try!(self.get_impl(id, origin_in, check_url_validity));
match file_impl { match file_impl {
FileImpl::Memory(buf) => { FileImpl::Memory(buf) => {
@ -437,7 +433,7 @@ impl FileManagerStore {
}; };
chunked_read(sender, &mut file, range.len(), opt_filename, chunked_read(sender, &mut file, range.len(), opt_filename,
type_string, cancel_listener); type_string);
Ok(()) Ok(())
} else { } else {
Err(BlobURLStoreError::InvalidEntry) Err(BlobURLStoreError::InvalidEntry)
@ -447,17 +443,16 @@ impl FileManagerStore {
// Next time we don't need to check validity since // Next time we don't need to check validity since
// we have already done that for requesting URL if necessary // we have already done that for requesting URL if necessary
self.get_blob_buf(sender, &parent_id, origin_in, self.get_blob_buf(sender, &parent_id, origin_in,
rel_pos.slice_inner(&inner_rel_pos), false, rel_pos.slice_inner(&inner_rel_pos), false)
cancel_listener)
} }
} }
} }
// Convenient wrapper over get_blob_buf // Convenient wrapper over get_blob_buf
fn try_read_file(&self, sender: &IpcSender<FileManagerResult<ReadFileProgress>>, fn try_read_file(&self, sender: &IpcSender<FileManagerResult<ReadFileProgress>>,
id: Uuid, check_url_validity: bool, origin_in: FileOrigin, id: Uuid, check_url_validity: bool, origin_in: FileOrigin)
cancel_listener: Option<CancellationListener>) -> Result<(), BlobURLStoreError> { -> Result<(), BlobURLStoreError> {
self.get_blob_buf(sender, &id, &origin_in, RelativePos::full_range(), check_url_validity, cancel_listener) self.get_blob_buf(sender, &id, &origin_in, RelativePos::full_range(), check_url_validity)
} }
fn dec_ref(&self, id: &Uuid, origin_in: &FileOrigin) -> Result<(), BlobURLStoreError> { fn dec_ref(&self, id: &Uuid, origin_in: &FileOrigin) -> Result<(), BlobURLStoreError> {
@ -569,7 +564,7 @@ const CHUNK_SIZE: usize = 8192;
fn chunked_read(sender: &IpcSender<FileManagerResult<ReadFileProgress>>, fn chunked_read(sender: &IpcSender<FileManagerResult<ReadFileProgress>>,
file: &mut File, size: usize, opt_filename: Option<String>, file: &mut File, size: usize, opt_filename: Option<String>,
type_string: String, cancel_listener: Option<CancellationListener>) { type_string: String) {
// First chunk // First chunk
let mut buf = vec![0; CHUNK_SIZE]; let mut buf = vec![0; CHUNK_SIZE];
match file.read(&mut buf) { match file.read(&mut buf) {
@ -591,12 +586,6 @@ fn chunked_read(sender: &IpcSender<FileManagerResult<ReadFileProgress>>,
// Send the remaining chunks // Send the remaining chunks
loop { loop {
if let Some(ref listener) = cancel_listener.as_ref() {
if listener.is_cancelled() {
break;
}
}
let mut buf = vec![0; CHUNK_SIZE]; let mut buf = vec![0; CHUNK_SIZE];
match file.read(&mut buf) { match file.read(&mut buf) {
Ok(0) => { Ok(0) => {

View file

@ -277,7 +277,7 @@ impl ResourceChannelManager {
CoreResourceMsg::Synchronize(sender) => { CoreResourceMsg::Synchronize(sender) => {
let _ = sender.send(()); let _ = sender.send(());
} }
CoreResourceMsg::ToFileManager(msg) => self.resource_manager.filemanager.handle(msg, None, TFD_PROVIDER), CoreResourceMsg::ToFileManager(msg) => self.resource_manager.filemanager.handle(msg, TFD_PROVIDER),
CoreResourceMsg::Exit(sender) => { CoreResourceMsg::Exit(sender) => {
if let Some(ref config_dir) = self.config_dir { if let Some(ref config_dir) = self.config_dir {
match group.auth_cache.read() { match group.auth_cache.read() {

View file

@ -42,7 +42,7 @@ fn test_filemanager() {
// Try to select a dummy file "tests/unit/net/test.jpeg" // Try to select a dummy file "tests/unit/net/test.jpeg"
let (tx, rx) = ipc::channel().unwrap(); let (tx, rx) = ipc::channel().unwrap();
filemanager.handle(FileManagerThreadMsg::SelectFile(patterns.clone(), tx, origin.clone(), None), filemanager.handle(FileManagerThreadMsg::SelectFile(patterns.clone(), tx, origin.clone(), None),
None, TEST_PROVIDER); TEST_PROVIDER);
let selected = rx.recv().expect("Broken channel") let selected = rx.recv().expect("Broken channel")
.expect("The file manager failed to find test.jpeg"); .expect("The file manager failed to find test.jpeg");
@ -54,7 +54,7 @@ fn test_filemanager() {
{ {
let (tx2, rx2) = ipc::channel().unwrap(); let (tx2, rx2) = ipc::channel().unwrap();
filemanager.handle(FileManagerThreadMsg::ReadFile(tx2, selected.id.clone(), false, origin.clone()), filemanager.handle(FileManagerThreadMsg::ReadFile(tx2, selected.id.clone(), false, origin.clone()),
None, TEST_PROVIDER); TEST_PROVIDER);
let msg = rx2.recv().expect("Broken channel"); let msg = rx2.recv().expect("Broken channel");
@ -85,7 +85,7 @@ fn test_filemanager() {
{ {
let (tx2, rx2) = ipc::channel().unwrap(); let (tx2, rx2) = ipc::channel().unwrap();
filemanager.handle(FileManagerThreadMsg::DecRef(selected.id.clone(), origin.clone(), tx2), filemanager.handle(FileManagerThreadMsg::DecRef(selected.id.clone(), origin.clone(), tx2),
None, TEST_PROVIDER); TEST_PROVIDER);
let ret = rx2.recv().expect("Broken channel"); let ret = rx2.recv().expect("Broken channel");
assert!(ret.is_ok(), "DecRef is not okay"); assert!(ret.is_ok(), "DecRef is not okay");
@ -95,7 +95,7 @@ fn test_filemanager() {
{ {
let (tx2, rx2) = ipc::channel().unwrap(); let (tx2, rx2) = ipc::channel().unwrap();
filemanager.handle(FileManagerThreadMsg::ReadFile(tx2, selected.id.clone(), false, origin.clone()), filemanager.handle(FileManagerThreadMsg::ReadFile(tx2, selected.id.clone(), false, origin.clone()),
None, TEST_PROVIDER); TEST_PROVIDER);
let msg = rx2.recv().expect("Broken channel"); let msg = rx2.recv().expect("Broken channel");