You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Mike Riley (JIRA)" <ji...@apache.org> on 2015/03/15 19:27:38 UTC

[jira] [Created] (THRIFT-3041) Generate asynchronous clients for Cocoa

Mike Riley created THRIFT-3041:
----------------------------------

             Summary: Generate asynchronous clients for Cocoa
                 Key: THRIFT-3041
                 URL: https://issues.apache.org/jira/browse/THRIFT-3041
             Project: Thrift
          Issue Type: Improvement
          Components: Cocoa - Compiler, Cocoa - Library
            Reporter: Mike Riley


I've been using thrift on a decent variety of iOS projects for the last ~4 years. Every time I set a new project up, I invariably end up inventing some way to invoke thrift RPC calls via Objective-C block syntax.  I usually end up ripping apart the generated classes by declaring their private methods, and then writing a bunch of boilerplate all so that I can avoid using the provided HTTP client, which makes synchronous requests.

This is a decent stab at letting the generator take care of this problem for me, and everyone else.  It ended up being pretty heavy handed with t_cocoa_generator.cc, but I've spent a while testing this and am pretty confident I managed to avoid breaking anything.  I realize this is a large change, so I've put up the sandbox I was using to test on github if that makes it easier to review.  If you want the tl;dr; about what practical changes this has on generated sources:

https://github.com/yelirekim/thrift-cocoa-love/blob/master/thrift-cocoa-love/ViewController.m
https://github.com/yelirekim/thrift-cocoa-love/blob/master/gen-cocoa/asdf.h

I'd welcome feedback or proposed modifications if this approach isn't quite right.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)