class WebSocket::Driver::Hybi

def close(reason = nil, code = nil)

def close(reason = nil, code = nil)
  reason ||= ''
  code   ||= ERRORS[:normal_closure]
  case @ready_state
    when 0 then
      @ready_state = 3
      emit(:close, CloseEvent.new(code, reason))
      true
    when 1 then
      frame(reason, :close, code)
      @ready_state = 2
      true
    else
      false
  end
end