Thanks for the explanation, Jens too. The hint that NSXMLParser has that behaviour is that it accepts an NSInputStream, or that it relies on a delegate for communicating "parse-events"?
Mikkel On 8 Aug 2011, at 10:34, Andreas Grosam wrote: > No. Asynchronous routines can be implemented above a blocking interface. > Blocking and asynchronous interfaces work well together, and you may not even > notice the existence of a blocking interface since it is working under the > hood as an implementation detail. > > For instance the parser *could* (we don't know) be implemented as a > "recursive decent" parser. This kind of parser will effectively require that > the parsing routine blocks, when there is no further input available, since > the state of the parser will be in its call stack. So you can't just stop and > exit the parse function in the middle of a stream, and then continue with a > newly invoked method when more data is available. > > The parser would just dispatch its events on the main thread where the > delegate can handle them. So, from the view point of the delegate, it looks > like an asynchronous interface. > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com