We are running into a conflict between compliance and efficiency in OData (Astoria) and I wanted to bring it up in case we're not the first ones to run into this.
The Atom spec requires all the atom:link elements in a feed to come before the actual entries (section 4.1.1 of the RFC). The problem is that in order to compute the continuation token that will go in the href of the next link we need to "see" the last entry we'll put on the wire when returning a partial collection. The requirement of having the link before the entries would force us to buffer all the entries, compute the next link, write the link and then write the entries. In order to allow for a fully streaming server implementation, it would be great if it were acceptable for the next link to show up after the entries, at the end of a feed. Has anybody else run into this? At this point I'm not sure if existing clients would choke when seeing a link in a different place. Is there a way we could change this assuming folks see this as a reasonable thing to relax? Thanks -pablo
