I'm sympathetic to the idea of an [EXPENSIVE] response code; but (alas!) my experience suggests that the majority of clients would not utilize such a feature to change strategy. Probably the only thing that would be done with it would be to bad-mouth server implementations.
There is a definite attitude with many clients that any cost that is borne by the server is out of sight and out of mind. Even when an attempt is made to shift the burden onto the client (there is a reason why the STATUS command does not accept wildcards), this ends up getting seen more as a design error in the protocol rather than the intended architectural hint. THREAD=REFERENCES is undoubtably the most expensive of all the mthods of ordering a mailbox; however it is equally undoubtably the most popular. Many server implementations (including UW imapd) ended up having to extend their message store and caching strategies to accomodate THREAD=REFERENCES. I'm sorry to be the bearer of bad news on this. The good news is that if you implement THREAD=REFERENCES and do so correctly (unlike Courier which does not), users of clients that use it will bless you since you will greatly speed up their performance. -- Mark -- http://staff.washington.edu/mrc Science does not emerge from voting, party politics, or public debate. Si vis pacem, para bellum.
