In the past I’ve used NSOperation for this — wrap each request in an async NSOperation that only signals completion to its queue when its DataTask completion handler is complete. Then you can blast a bunch of them at a serial queue and they will come out serially until they are done.
On Tue, Jun 28, 2016 at 4:35 PM, Gary L. Wade <garyw...@desisoftsystems.com> wrote: > Try using a mutex on your array of requests, when adding and removing > them, and only pull a request off the array when you're done with your > completion handler or when you have nothing in progress such as when you > first start. > -- > Gary L. Wade (Sent from my iPhone) > http://www.garywade.com/ > > > On Jun 28, 2016, at 1:16 PM, Jim Adams <jim.ad...@sas.com> wrote: > > > > Unfortunately, with a multi threaded system, I cannot figure out a way > to do that. Ideas appreciated. > > > > My network calls could come from any thread. I could see putting the > request into a queue, but how to I make the completion handler run on that > same queue so it remains blocked? > > > >> On Jun 28, 2016, at 4:11 PM, Gary L. Wade <garyw...@desisoftsystems.com> > wrote: > >> > >> The simplest way to do what you're asking is to not send another > request until your completion handler finishes. > >> -- > >> Gary L. Wade (Sent from my iPhone) > >> http://www.garywade.com/ > >> > >>> On Jun 28, 2016, at 12:52 PM, Jim Adams <jim.ad...@sas.com> wrote: > >>> > >>> I have an application that has the requirement that the accesses to > the server be single threaded, i.e. the second request cannot go through > until the first request has completed. I am using NSURLSession and > NSURLSessionDataTask. I have set the Maximum Concurrent Host number in the > configuration to 1 but I have seen evidence that there are simultaneous > requests going up to my servers. > >>> > >>> Actually I don’t think they are truly simultaneous, just that the > completion handler doesn’t finish before the next request goes out. Is > there a way to make the next request wait until the completion block is > exited? > >>> > >>> My evidence comes from looking in the server logs. I have 3 servers in > AWS behind an ELB. If I am able to get the cookies back from the server > before sending the next request then my request will go to the same server > that the last request went to. If I don’t wait then then the request goes > to a random server. If I watch the logs I can see the requests come in on > multiple servers. > > > > > _______________________________________________ > > 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/vast.grapes%40gmail.com > > This email sent to vast.gra...@gmail.com > _______________________________________________ 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