doh!  I've been treating -startLoading as a sync routine that must return a
final result to the caller, and just now realized that I can return from
the routine without completing the request, while the caller will be kept
blocked on that request untill I respond with URLProtocolDidFinishLoading
(and from a different thread if need to) so the "rewrite your code async"
comment all of a sudden sounds great :)

Except can I get a confirmation please that the client using the protocol
handler will not reuse it untill request is completed (i.e. it wont use the
same instance to make another request once I return from -startLoading,
untill it gets a completion like a final redirect or
URLProtocolDidFinishLoading)??

Basically I'm trying to confirm that I don't have to save the request
somewhere else and keep track of it separately outside of the initial
NSURLProtocol instance itself.



On Thu, Sep 6, 2012 at 11:55 AM, Dan S <danc...@rebelbase.com> wrote:

> if you meant using the grand central dispatch, i think that only became
> available in 10.6, I need to support this for 10.5
>
>
> On Thu, Sep 6, 2012 at 11:25 AM, Dan S <danc...@rebelbase.com> wrote:
>
>> No, actually I've completely missed that it was answered.  Thank you.
>>
>> Unfortunatelly, the requester is expecting a return data, error or a
>> redirect. And until the api can be respeced, the sync response has to stay
>> in.  It isn't that it needs to load from network every request, but some
>> volotile data does have to check the server to pull down the changes before
>> serving the data.
>>
>> I will try to offload the server access to a different thread (though I
>> still need to block the protocol thread because I still have to return the
>> correct data for the current call).
>>
>> but now I'm also curiouse of what you mewant by posting a block to
>> another dispatch queue ?
>>
>>
>> On Thu, Sep 6, 2012 at 7:55 AM, Jean Suisse <jean.li...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> Fritz Anderson is right. We can only agree.
>>> And recently, they made following Jens Alfke's advice incredibly easy.
>>> Just post a block to one of the available dispatch queues (not the one
>>> running on your main thread thought) and let it run its curse.
>>>
>>> Jean
>>>
>>> On 6 sept. 2012, at 16:36, Fritz Anderson wrote:
>>>
>>> > From what Google tells me, you got a prompt response from Jens Alfke,
>>> a very experienced Cocoa-networking programmer, explaining why what you're
>>> doing shouldn't be expected to work. Are you looking for a workaround, or
>>> just for somebody who will give you better news? I don't think better news
>>> is in the cards.
>>>
>>>
>>> On 29 août 2012, at 22:58, Jens Alfke wrote:
>>>
>>> > If you must use a synchronous API, spawn a new thread to run it on.
>>> >
>>>
>>>
>>>
>>>
>>
>
_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to