mapbox/mapbox-gl-native — pull request #677 by mikemorris (2014-12-02 20:52:10+00:00)
Title: Break out FileSource interface

Reworks `FileSource` as an abstract class and adds `CachingHTTPFileSource` as an implementation. Alters `Map` constructor to accept a `FileSource` implementation as an argument, setting the libuv loop where it originally constructed a new `FileSource`. This will eventually allow a `LocalFileSource` implementation in the future.

Would appreciate a code review on this from @artemp or @DennisOSRM, @springmeyer mentioned that there is some overhead involved in abstract classes and that templates may be a faster (but less flexible?) solution.

/cc @jfirebaugh