# Functions
NewScheduler creates a new Scheduler.
NewServer wraps a requestServer and returns a server.
# Variables
data: nil; sent by serverWithLimits.
data: RequestResponse; sent by requestServer.
data: nil; sent by Scheduler.
data: RequestResponse; sent by requestServer.
data: RequestResponse; sent by serverWithTimeout.
data: nil; sent by Scheduler.
# Structs
Event describes an event where the type of Data depends on Type.
EventType identifies an event type, either related to a request or the server in general.
RequestResponse is the Data type of request events.
Scheduler is a modular network data retrieval framework that coordinates multiple servers and retrieval mechanisms (modules).
# Interfaces
Module represents a mechanism which is typically responsible for downloading and updating a passive data structure.
Requester allows Modules to obtain the list of momentarily available servers, start new requests and report server failure when a response has been proven to be invalid in the processing phase.