Class: Wsv::Server::DeadlineReader

Inherits:
Object
  • Object
show all
Defined in:
lib/wsv/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(io, deadline) ⇒ DeadlineReader

Returns a new instance of DeadlineReader.



117
118
119
120
# File 'lib/wsv/server.rb', line 117

def initialize(io, deadline)
  @io = io
  @deadline = deadline
end

Instance Method Details

#gets(limit) ⇒ Object

Raises:

  • (IO::TimeoutError)


122
123
124
125
126
127
128
# File 'lib/wsv/server.rb', line 122

def gets(limit)
  remaining = @deadline - Time.now
  raise IO::TimeoutError if remaining <= 0

  @io.timeout = remaining
  @io.gets(limit)
end