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