Increase max download limit to 128MB (#7965)

* fetch: increase max download limit to 64MB

* parity: increase download size limit for updater service
This commit is contained in:
André Silva 2018-02-22 10:22:25 +00:00 committed by Rando
parent 01d9bff3cf
commit e0b4506474
2 changed files with 12 additions and 3 deletions

View File

@ -680,11 +680,15 @@ pub fn execute_impl(cmd: RunCmd, can_restart: bool, logger: Arc<RotatingLogger>)
let contract_client = Arc::new(::dapps::FullRegistrar::new(client.clone())); let contract_client = Arc::new(::dapps::FullRegistrar::new(client.clone()));
// the updater service // the updater service
let mut updater_fetch = fetch.clone();
// parity binaries should be smaller than 128MB
updater_fetch.set_limit(Some(128 * 1024 * 1024));
let updater = Updater::new( let updater = Updater::new(
Arc::downgrade(&(service.client() as Arc<BlockChainClient>)), Arc::downgrade(&(service.client() as Arc<BlockChainClient>)),
Arc::downgrade(&sync_provider), Arc::downgrade(&sync_provider),
update_policy, update_policy,
hash_fetch::Client::with_fetch(contract_client.clone(), fetch.clone(), event_loop.remote()) hash_fetch::Client::with_fetch(contract_client.clone(), updater_fetch, event_loop.remote())
); );
service.add_notify(updater.clone()); service.add_notify(updater.clone());

View File

@ -127,6 +127,11 @@ impl Client {
}) })
} }
/// Sets a limit on the maximum download size.
pub fn set_limit(&mut self, limit: Option<usize>) {
self.limit = limit
}
fn client(&self) -> Result<Arc<reqwest::Client>, Error> { fn client(&self) -> Result<Arc<reqwest::Client>, Error> {
{ {
let (ref time, ref client) = *self.client.read(); let (ref time, ref client) = *self.client.read();
@ -150,8 +155,8 @@ impl Fetch for Client {
type Result = CpuFuture<Response, Error>; type Result = CpuFuture<Response, Error>;
fn new() -> Result<Self, Error> { fn new() -> Result<Self, Error> {
// Max 50MB will be downloaded. // Max 64MB will be downloaded.
Self::with_limit(Some(50*1024*1024)) Self::with_limit(Some(64 * 1024 * 1024))
} }
fn process<F, I, E>(&self, f: F) -> BoxFuture<I, E> where fn process<F, I, E>(&self, f: F) -> BoxFuture<I, E> where