Popularity
3.4
Declining
Activity
0.0
Stable
4
2
1
Monthly Downloads: 16
Programming language: Haskell
License: MIT License
Tags:
Concurrency
roundRobin alternatives and similar packages
Based on the "Concurrency" category.
Alternatively, view roundRobin alternatives based on common mentions on social networks and blogs.
-
haxl
A Haskell library that simplifies access to remote data, such as databases or web-based services. -
chaselev-deque
A collection of different packages for CAS based data structures. -
unagi-chan
A haskell library implementing fast and scalable concurrent queues for x86, with a Chan-like API -
libcspm
The library FDR3 uses for parsing, type checking and evaluating machine CSP. -
lifted-async
Run lifted IO operations asynchronously and wait for their results -
cspmchecker
The library FDR3 uses for parsing, type checking and evaluating machine CSP. -
speculation
Safe, programmable, speculative evaluation for Haskell -
concurrent-machines
Concurrency features for the Haskell machines package -
threads-supervisor
Simple, IO-based Haskell library for Erlang-inspired thread supervisors -
concurrent-supply
A fast globally unique variable supply with a pure API -
slave-thread
A principal solution to ghost threads and silent exceptions -
sirkel
Sirkel; a Chord DHT in haskell. Node failure, replication and batteries included! -
timers
Simple package that implements timers. Both "one-shot" and "repeating" timers are implemented. -
token-bucket
Haskell rate limiter library using lazy token bucket algorithm -
split-channel
Control.Concurrent.Chan split into sending and receiving halves.
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
Promo
www.sonarqube.org
Do you think we are missing an alternative of roundRobin or a related project?
README
A simple round-robin data type
This package provide a simple data type wrap a round-robin table. so you can select resources(host, connection...) using round-robin fashion.
Example
import qualified Date.RoundRobin as RR
import qualified Network.HTTP.Client as HTTP
main :: IO ()
main = do
reqs <- mapM HTTP.parseUrl ["http://foo.com", "http://bar.com", "http://qux.com"]
proxyTable <- RR.newRoundRobin reqs
manager <- HTTP.newManager HTTP.defaultManagerSettings
...
-- maybe now you're inside a server service(a forked thread)
-- use select to choose a request in round-robin fashion
req <- RR.select proxyTable
res <- HTTP.httpLbs req manager
...