Re: NSData DataWithContentsOfURL within a protocol handler
Re: NSData DataWithContentsOfURL within a protocol handler
- Subject: Re: NSData DataWithContentsOfURL within a protocol handler
- From: Dan S <email@hidden>
- Date: Thu, 06 Sep 2012 13:21:38 -0700
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 <email@hidden> 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 <email@hidden> 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 <email@hidden> 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 (email@hidden)
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:
This email sent to email@hidden