diff options
author | Jorge Canizales <jcanizales@google.com> | 2016-06-29 17:02:45 -0700 |
---|---|---|
committer | Jorge Canizales <jcanizales@google.com> | 2016-06-29 17:02:45 -0700 |
commit | 10cc76cbe7f4a717e5da800837ee9d69144684f1 (patch) | |
tree | 8b53d6a9f41fe002b75cedcae62415eb8d9f4735 /src | |
parent | 3325c0b2a248c28666d9a0a7c9a27e1dd33099e9 (diff) |
Make RPCs on a loop
Diffstat (limited to 'src')
-rw-r--r-- | src/objective-c/tests/Connectivity/ViewController.m | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/objective-c/tests/Connectivity/ViewController.m b/src/objective-c/tests/Connectivity/ViewController.m index cb0321c0c1..2b199c9617 100644 --- a/src/objective-c/tests/Connectivity/ViewController.m +++ b/src/objective-c/tests/Connectivity/ViewController.m @@ -33,11 +33,50 @@ #import <UIKit/UIKit.h> +#import <GRPCClient/GRPCCall.h> +#import <ProtoRPC/ProtoMethod.h> +#import <RxLibrary/GRXWriter+Immediate.h> +#import <RxLibrary/GRXWriter+Transformations.h> + @interface ViewController : UIViewController @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; + + NSString *host = @"grpc-test.sandbox.googleapis.com"; + + GRPCProtoMethod *method = [[GRPCProtoMethod alloc] initWithPackage:@"grpc.testing" + service:@"TestService" + method:@"StreamingOutputCall"]; + + __block void (^startCall)() = ^{ + GRXWriter *loggingRequestWriter = [[GRXWriter writerWithValue:[NSData data]] map:^id(id value) { + NSLog(@"Sending request."); + return value; + }]; + + GRPCCall *call = [[GRPCCall alloc] initWithHost:host + path:method.HTTPPath + requestsWriter:loggingRequestWriter]; + + [call startWithWriteable:[GRXWriteable writeableWithEventHandler:^(BOOL done, id value, + NSError *error) { + if (!done) { + return; + } + if (error) { + NSLog(@"Finished with error %@", error); + } else { + NSLog(@"Finished successfully."); + } + + dispatch_time_t oneSecond = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)); + dispatch_after(oneSecond, dispatch_get_main_queue(), startCall); + }]]; + }; + + startCall(); } @end |