darcs-2.10.2: a distributed, interactive, smart revision control system

Safe HaskellSafe
LanguageHaskell2010

Darcs.Util.Download.Request

Synopsis

Documentation

data UrlRequest Source

A UrlRequest object contains a url to get, the file into which the contents at the given url should be written, the cachability of this request and the request's priority.

Constructors

UrlRequest 

data UrlState Source

A UrlState object contains a map of url -> InProgressStatus, a Q of urls waiting to be started, the current pipe length and the unique junk to create unique filenames.

Constructors

UrlState 

Fields

inProgress :: Map String InProgressStatus
 
waitToStart :: Q String
 
pipeLength :: Int
 
randomJunk :: String
 

data Q a Source

Q represents a prioritised queue, with two-tier priority. The left list contains higher priority items than the right list.

Constructors

Q [a] [a] 

readQ :: Q a -> Maybe (a, Q a) Source

readQ will try and take an element from the Q, preferring elements from the high priority list.

insertQ :: a -> Q a -> Q a Source

insertQ inserts a low priority item into a Q.

pushQ :: a -> Q a -> Q a Source

pushQ inserts a high priority item into a Q.

addUsingPriority :: Priority -> a -> Q a -> Q a Source

Return a function for adding an element based on the priority.

deleteQ :: Eq a => a -> Q a -> Q a Source

deleteQ removes any instances of a given element from the Q.

elemQ :: Eq a => a -> Q a -> Bool Source

deleteQ checks for membership in a Q.

emptyQ :: Q a Source

emptyQ is an empty Q.

nullQ :: Q a -> Bool Source

nullQ checks if the Q contains no items.

data Priority Source

Constructors

High 
Low 

Instances

data ConnectionError Source

Data type to represent a connection error. The following are the codes from libcurl which map to each of the constructors: * 6 -> CouldNotResolveHost : The remote host was not resolved. * 7 -> CouldNotConnectToServer : Failed to connect() to host or proxy. * 28 -> OperationTimeout: the specified time-out period was reached.