aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bundler/mirror.rb
Commit message (Collapse)AuthorAgeFilesLines
* [RuboCop] Update to 0.38.0Samuel Giddins2016-03-091-3/+3
|
* Add test for checking langauge of sentences used in source codeAditya Prakash2016-03-091-1/+1
|
* Compatibility with frozen string literalsSamuel Giddins2016-01-311-0/+1
|
* Fix returning case-sensitive mirror URIs in Ruby 2.3Samuel Giddins2016-01-061-1/+1
|
* Use Errno::EINPROGRESS instead of IO::WaitWritable for ruby 1.8.7 compatibilityPablo Carranza2015-12-271-1/+1
|
* Turn normalize uri back into a module methodPablo Carranza2015-12-271-3/+3
|
* Add YARD documentation for new mirror classes.Pablo Carranza2015-12-271-2/+31
|
* Add support for multiple mirror addressesPablo Carranza2015-12-271-14/+23
| | | | | | | | | | | | | | | | Funny enough, a mirror address may be many different address. For ex: ipv4/ipv6. During testing (after a reboot) the ipv6 address was the first to be returned when the server was built with an ipv4 address, therefor one of tests was failing. This commit adds support for probing all the different addresses that may be linked to a given mirror url, if any address replies, the probe is successful. The caveat is that there will be N probes now with a fallback_timeout possible time used, which will increase the probing time N times.
* Fix rubocop complainsPablo Carranza2015-12-271-20/+16
|
* Add TCP Mirror probe object to verify that the mirror is reachablePablo Carranza2015-12-271-6/+58
| | | | | | | | | | | | | | | The implementation is done using nonblocking IO and then using select to probe that the socket is writable once it is open. This is not covering the case of the mirror host not being resolved, this would fail with a nasty error. There are at least 3 possible cases of probing: * the socket is writtable just fine, which probes as true * the socket fails to `select`, this means that the packets are being dropped or that there is nothing listening there * the socket fails to get a valid tcp connection, there is something listening, but it is rejecting packets: closed connection
* Add logic for selecting and validating mirrors if needed.Pablo Carranza2015-12-271-55/+22
| | | | | | | | | | | | | | | | | When requesting a Mirrors object to return a mirror for a given URI it will only return the mirrored uri if the mirror is valid. When the mirror only has the uri and a fallback timeout of 0 it will be considered as valid. When the mirror has a fallback timeout, it will be probed (only once) to check if we can actually open a connection to this address. Depending on how this test goes out (returning true or false) this will end up in setting the mirror as valid or invalid. If Mirrors cannot find a valid mirror for a given URI it will return a mirror with just the original URI so it is managed as a direct connection and not a mirrored one.
* WIP - mirror is picked depending on the probing working or not, all has ↵Pablo Carranza2015-12-271-17/+63
| | | | | | precedence Still no implementation for probing
* WIP - Setting up mirror probe with fallbackPablo Carranza2015-12-271-7/+31
|
* Improved mirror config parsing with support for all and fallback_timeoutPablo Carranza2015-12-271-14/+88
|
* Add mirrors class to simplify config parsing and collectingPablo Carranza2015-12-271-0/+15
|
* WIP - it can parse the keys correctlyPablo Carranza2015-12-271-0/+5