Sha256: 20f3fffb04aa29216ac16ab68be1036827728ab1106fd446617986be750f1938
Contents?: true
Size: 1.77 KB
Versions: 1
Compression:
Stored size: 1.77 KB
Contents
## 0.27 Multithreaded fiber scheduling - `Gyro_schedule_fiber` - schedule using fiber's associated thread (store thread ref in fiber), instead of current thread - Check why first call to `#sleep` returns too early in tests. Check the sleep behaviour in a spawned thread. ## 0.28 Working Sinatra application - app with database access (postgresql) - benchmarks! ## 0.29 Sidekick Plan of action: - fork sidekiq, make adjustments to Polyphony code - test performance - proceed from there ## 0.30 Testing && Docs - Pull out redis/postgres code, put into new `polyphony-xxx` gems ## 0.31 Integration ## 0.32 Real IO#gets and IO#read - More tests - Implement some basic stuff missing: - override `IO#eof?` since it too reads into buffer - real `IO#gets` (with buffering) - `IO#read` (read to EOF) - `IO.foreach` - `Process.waitpid` ## 0.32 Support for multithreaded apps - Move fiber scheduling to the `Thread` class - Gyro selector conforming to the selector interface: ```ruby class Selector def wait end ``` - Better separation between - Rails? # DNS ## DNS client ```ruby ip_address = DNS.lookup('google.com', 'A') ``` Prior art: - https://github.com/alexdalitz/dnsruby - https://github.com/eventmachine/eventmachine/blob/master/lib/em/resolver.rb - https://github.com/gmodarelli/em-resolv-replace/blob/master/lib/em-dns-resolver.rb - https://github.com/socketry/async-dns ### DNS server ```ruby Server = import('../../lib/polyphony/dns/server') server = Server.new do |transaction| puts "got query from #{transaction.info[:client_ip_address]}" transaction.questions.each do |q| respond(transaction, q[:domain], q[:resource_class]) end end server.listen(port: 5300) puts "listening on port 5300" ``` Prior art: - https://github.com/socketry/async-dns
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
polyphony-0.27 | TODO.md |