On Wed, Mar 26, 2014 at 03:27:34PM -0400, Andrew Hills wrote: > On 3/26/14, 2:07 PM, Dave Reisner wrote: > > What do you plan to set these values to in your environment? Why > > shouldn't we just adjust these to be more lax? > > I set the low speed limit to zero and disable the check completely, > because of the ridiculous firewall. I don't really understand the reason > libcurl even has these options, but obviously someone thought it was a > good reason to keep this functionality in pacman, so I opted to add the > configuration options to pacman.conf instead. Possibly someone has > intermittent problems with certain mirrors and this allows them to fall > back to the next mirror. I have the privilege of an excellent connection > and have never observed such an issue. The patch for simply disabling it > is much simpler; simply change lib/libalpm/dload.c:297's "1L" to "0L", > and erase the line following.
The low speed limit exists as a way of cancelling a download when the network goes away. Do you have an alternate suggestion? > >> +/** Returns the libcurl low speed limit. */ > >> +long alpm_option_get_lowspeedlimit(alpm_handle_t *handle); > >> +/** Sets the libcurl low speed limit. */ > >> +int alpm_option_set_lowspeedlimit(alpm_handle_t *handle, long > >> lowspeedlimit); > > > > What is this measured in ? bytes? megabytes? mebibytes? > > > >> + > >> +/** Returns the libcurl low speed time. */ > >> +long alpm_option_get_lowspeedtime(alpm_handle_t *handle); > >> +/** Sets the libcurl low speed time. */ > >> +int alpm_option_set_lowspeedtime(alpm_handle_t *handle, long > >> lowspeedtime); > >> + > > > > seconds? milliseconds? hours? > > Bytes per second and seconds. These were noted in the pacman.conf > documentation, but I forgot to add them here. I'll update it and submit > a revised patch for your consideration. > > >> @@ -690,6 +711,9 @@ static int setup_libalpm(void) > >> alpm_option_set_questioncb(handle, cb_question); > >> alpm_option_set_progresscb(handle, cb_progress); > >> > >> + handle->lowspeedlimit = config->lowspeedlimit; > >> + handle->lowspeedtime = config->lowspeedtime; > >> + > > > > Not sure how this compiles -- the internals of the handle aren't visible > > from the frontend code. You need to use the setter methods you added. > > It was by adding the #include <handle.h>, but I will adjust it as > described here. > > Thanks for the comments, > Andrew > >