Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] (no subject)


Folks,

  I mentioned about adding a timeout to the amount of time that 
an operation should wait for the indexer.  I currently have 
run across a very serious usability issue.  With the indexer
fixes that Bogdan has put in, the indexer now reliably will no
longer just "die" when there is some sort of fault.  This is
great.

  The downside is that I've determined that a particular project
I have will take ~5h to index (500 files/10min w/ 15,000 files 
total).  If I hit Ctrl-Space to "code complete" then my system
goes blocked until the indexer finishes.

  Obviously this isn't what we would like to have.  I would like
to submit a patch for this, but there are a couple of approaches
and I'm looking for advice on what would be most readily acceptable
for the 1.2 branch.  What I'm proposing as a short/safe solution
would be

- Adjust the SearchEngine to have an additional search() method
  that would also take an option on how to deal with the indexer:
  ICSearchConstants.FORCE_IMMEDIATE_SEARCH,
  ICSearchConstants.CANCEL_IF_NOT_READY,
  ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH
- Adjust the CodeCompletion to use the FORCE_IMMEDIATE_SEARCH
  for the 1.2 release to stop the indexing temporarily while
  the completion proposals are searched out.

This would lead to "different results at different times", the
other alternative would be to use the CANCEL_IF_NOT_READY and
not show any results until we can show all of the results.

Thoughts and opinions,
 Thanks,
   Thomas



Back to the top