class NIO::Monitor

def add_interest(interest)

Returns:
  • (self) -

Parameters:
  • interests (:r, :w, :rw) -- new I/O interests (read/write/readwrite)
def add_interest(interest)
  case interest
  when :r
    case @interests
    when :r  then @interests = :r
    when :w  then @interests = :rw
    when :rw then @interests = :rw
    when nil then @interests = :r
    end
  when :w
    case @interests
    when :r  then @interests = :rw
    when :w  then @interests = :w
    when :rw then @interests = :rw
    when nil then @interests = :w
    end
  when :rw
    @interests = :rw
  else raise ArgumentError, "bad interests: #{interest}"
  end
end