From dba878978d08045fa7f88015f492a88ed32e80e6 Mon Sep 17 00:00:00 2001
From: mlumish <mlumish@google.com>
Date: Fri, 2 Jan 2015 13:27:28 -0800
Subject: [PATCH] Replaced calls to grpc_call_accept with newer functions 
 Change on 2015/01/02 by mlumish <mlumish@google.com> ------------- Created by
 MOE: http://code.google.com/p/moe-java MOE_MIGRATED_REVID=83145830

---
 src/php/ext/grpc/call.c                       | 38 +++++++++++++------
 src/php/tests/unit_tests/EndToEndTest.php     | 13 ++++++-
 .../tests/unit_tests/SecureEndToEndTest.php   | 12 +++++-
 3 files changed, 47 insertions(+), 16 deletions(-)

diff --git a/src/php/ext/grpc/call.c b/src/php/ext/grpc/call.c
index cc87e214c9..134e02c7fd 100755
--- a/src/php/ext/grpc/call.c
+++ b/src/php/ext/grpc/call.c
@@ -292,19 +292,17 @@ PHP_METHOD(Call, start_invoke){
  * (optional)
  * @return long Error code
  */
-PHP_METHOD(Call, accept){
+PHP_METHOD(Call, server_accept){
   long tag;
   zval *queue_obj;
-  long flags = 0;
-  /* "Ol|l" == 1 Object, 1 mandatory long, 1 optional long */
+  /* "Ol|l" == 1 Object, 1 long */
   if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
-                           "Ol|l",
+                           "Ol",
                            &queue_obj, grpc_ce_completion_queue,
-                           &tag,
-                           &flags) == FAILURE){
+                           &tag) == FAILURE){
     zend_throw_exception(
         spl_ce_InvalidArgumentException,
-        "accept expects a CompletionQueue, a long, and an optional long",
+        "server_accept expects a CompletionQueue, a long, and an optional long",
         1 TSRMLS_CC);
     return;
   }
@@ -314,10 +312,25 @@ PHP_METHOD(Call, accept){
   wrapped_grpc_completion_queue *queue =
     (wrapped_grpc_completion_queue*)zend_object_store_get_object(
         queue_obj TSRMLS_CC);
-  RETURN_LONG(grpc_call_accept(call->wrapped,
-                               queue->wrapped,
-                               (void*)tag,
-                               (gpr_uint32)flags));
+  RETURN_LONG(grpc_call_server_accept(call->wrapped,
+                                      queue->wrapped,
+                                      (void*)tag));
+}
+
+PHP_METHOD(Call, server_end_initial_metadata) {
+  long flags = 0;
+  /* "|l" == 1 optional long */
+  if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,
+                           "|l",
+                           &flags) == FAILURE) {
+    zend_throw_exception(
+        spl_ce_InvalidArgumentException,
+        "server_end_initial_metadata expects an optional long",
+        1 TSRMLS_CC);
+  }
+  wrapped_grpc_call *call = (wrapped_grpc_call*)zend_object_store_get_object(
+      getThis() TSRMLS_CC);
+  RETURN_LONG(grpc_call_server_end_initial_metadata(call->wrapped, flags));
 }
 
 /**
@@ -435,7 +448,8 @@ PHP_METHOD(Call, start_read){
 
 static zend_function_entry call_methods[] = {
   PHP_ME(Call, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR)
-  PHP_ME(Call, accept, NULL, ZEND_ACC_PUBLIC)
+  PHP_ME(Call, server_accept, NULL, ZEND_ACC_PUBLIC)
+  PHP_ME(Call, server_end_initial_metadata, NULL, ZEND_ACC_PUBLIC)
   PHP_ME(Call, add_metadata, NULL, ZEND_ACC_PUBLIC)
   PHP_ME(Call, cancel, NULL, ZEND_ACC_PUBLIC)
   PHP_ME(Call, start_invoke, NULL, ZEND_ACC_PUBLIC)
diff --git a/src/php/tests/unit_tests/EndToEndTest.php b/src/php/tests/unit_tests/EndToEndTest.php
index be801bf016..2996780dc1 100755
--- a/src/php/tests/unit_tests/EndToEndTest.php
+++ b/src/php/tests/unit_tests/EndToEndTest.php
@@ -52,7 +52,12 @@ class EndToEndTest extends PHPUnit_Framework_TestCase{
     $server_call = $event->get_call();
     $this->assertNotNull($server_call);
     $this->assertEquals(Grpc\CALL_OK,
-                        $server_call->accept($this->server_queue, $server_tag));
+                        $server_call->server_accept($this->server_queue,
+                                                    $server_tag));
+
+    $this->assertEquals(Grpc\CALL_OK,
+                        $server_call->server_end_initial_metadata());
+
 
     // the server sends the status
     $this->assertEquals(Grpc\CALL_OK,
@@ -125,7 +130,11 @@ class EndToEndTest extends PHPUnit_Framework_TestCase{
     $server_call = $event->get_call();
     $this->assertNotNull($server_call);
     $this->assertEquals(Grpc\CALL_OK,
-                        $server_call->accept($this->server_queue, $server_tag));
+                        $server_call->server_accept($this->server_queue,
+                                                    $server_tag));
+
+    $this->assertEquals(Grpc\CALL_OK,
+                        $server_call->server_end_initial_metadata());
 
     // start the server read
     $this->assertEquals(Grpc\CALL_OK, $server_call->start_read($server_tag));
diff --git a/src/php/tests/unit_tests/SecureEndToEndTest.php b/src/php/tests/unit_tests/SecureEndToEndTest.php
index d14574b4f7..167022334f 100755
--- a/src/php/tests/unit_tests/SecureEndToEndTest.php
+++ b/src/php/tests/unit_tests/SecureEndToEndTest.php
@@ -62,7 +62,11 @@ class SecureEndToEndTest extends PHPUnit_Framework_TestCase{
     $server_call = $event->get_call();
     $this->assertNotNull($server_call);
     $this->assertEquals(Grpc\CALL_OK,
-                        $server_call->accept($this->server_queue, $server_tag));
+                        $server_call->server_accept($this->server_queue,
+                                                    $server_tag));
+
+    $this->assertEquals(Grpc\CALL_OK,
+                        $server_call->server_end_initial_metadata());
 
     // the server sends the status
     $this->assertEquals(Grpc\CALL_OK,
@@ -135,7 +139,11 @@ class SecureEndToEndTest extends PHPUnit_Framework_TestCase{
     $server_call = $event->get_call();
     $this->assertNotNull($server_call);
     $this->assertEquals(Grpc\CALL_OK,
-                        $server_call->accept($this->server_queue, $server_tag));
+                        $server_call->server_accept($this->server_queue,
+                                                    $server_tag));
+
+    $this->assertEquals(Grpc\CALL_OK,
+                        $server_call->server_end_initial_metadata());
 
     // start the server read
     $this->assertEquals(Grpc\CALL_OK, $server_call->start_read($server_tag));
-- 
GitLab