1 # -*- encoding: binary -*-
5 # this class is used for most synchronous concurrency models
6 class Rainbows::Client < Kgio::Socket
7 include Rainbows::ProcessClient
8 Rainbows.config!(self, :keepalive_timeout)
11 Time.now + KEEPALIVE_TIMEOUT
14 def kgio_wait_readable
15 wait KEEPALIVE_TIMEOUT
18 # used for reading headers (respecting keepalive_timeout)
22 case rv = kgio_tryread(CLIENT_HEADER_BUFFER_SIZE, buf)
24 return if expire && expire < Time.now
25 expire ||= read_expire
33 alias write kgio_write