Merge remote-tracking branch 'origin/uri_query_fragments' into rr_with_registry

pull/3320/head
David Garcia Quintas 9 years ago
commit 5a9903dfec
  1. 79
      Makefile
  2. 13
      build.yaml
  3. 2
      composer.json
  4. 227
      doc/ref/c++.internal/html/annotated.html
  5. 6
      doc/ref/c++.internal/html/async__generic__service_8cc.html
  6. 12
      doc/ref/c++.internal/html/async__generic__service_8h.html
  7. 34
      doc/ref/c++.internal/html/async__generic__service_8h_source.html
  8. 50
      doc/ref/c++.internal/html/async__stream_8h.html
  9. 598
      doc/ref/c++.internal/html/async__stream_8h_source.html
  10. 14
      doc/ref/c++.internal/html/async__unary__call_8h.html
  11. 79
      doc/ref/c++.internal/html/async__unary__call_8h_source.html
  12. 29
      doc/ref/c++.internal/html/auth__context_8h.html
  13. 138
      doc/ref/c++.internal/html/auth__context_8h_source.html
  14. 24
      doc/ref/c++.internal/html/auth__metadata__processor_8h.html
  15. 118
      doc/ref/c++.internal/html/auth__metadata__processor_8h_source.html
  16. 6
      doc/ref/c++.internal/html/auth__property__iterator_8cc.html
  17. 6
      doc/ref/c++.internal/html/byte__buffer_8cc.html
  18. 15
      doc/ref/c++.internal/html/byte__buffer_8h.html
  19. 140
      doc/ref/c++.internal/html/byte__buffer_8h_source.html
  20. 12
      doc/ref/c++.internal/html/call_8cc.html
  21. 24
      doc/ref/c++.internal/html/call_8h.html
  22. 1131
      doc/ref/c++.internal/html/call_8h_source.html
  23. 30
      doc/ref/c++.internal/html/channel_8cc.html
  24. 28
      doc/ref/c++.internal/html/channel_8h.html
  25. 177
      doc/ref/c++.internal/html/channel_8h_source.html
  26. 6
      doc/ref/c++.internal/html/channel__arguments_8cc.html
  27. 11
      doc/ref/c++.internal/html/channel__arguments_8h.html
  28. 93
      doc/ref/c++.internal/html/channel__arguments_8h_source.html
  29. 175
      doc/ref/c++.internal/html/channel__interface_8h_source.html
  30. 4
      doc/ref/c++.internal/html/class_grpc_buffer_reader.html
  31. 4
      doc/ref/c++.internal/html/class_grpc_buffer_writer.html
  32. 88
      doc/ref/c++.internal/html/classes.html
  33. 6
      doc/ref/c++.internal/html/classgrpc_1_1_async_generic_service.html
  34. 35
      doc/ref/c++.internal/html/classgrpc_1_1_async_reader_interface.html
  35. 34
      doc/ref/c++.internal/html/classgrpc_1_1_async_writer_interface.html
  36. 4
      doc/ref/c++.internal/html/classgrpc_1_1_asynchronous_service.html
  37. 248
      doc/ref/c++.internal/html/classgrpc_1_1_auth_context.html
  38. 133
      doc/ref/c++.internal/html/classgrpc_1_1_auth_metadata_processor.html
  39. 97
      doc/ref/c++.internal/html/classgrpc_1_1_auth_metadata_processor_aync_wrapper.html
  40. 12
      doc/ref/c++.internal/html/classgrpc_1_1_auth_property_iterator.html
  41. 4
      doc/ref/c++.internal/html/classgrpc_1_1_bidi_streaming_handler.html
  42. 36
      doc/ref/c++.internal/html/classgrpc_1_1_byte_buffer.html
  43. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call.html
  44. 6
      doc/ref/c++.internal/html/classgrpc_1_1_call_hook.html
  45. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_no_op.html
  46. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_recv_status.html
  47. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_send_close.html
  48. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message.html
  49. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html
  50. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html
  51. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_initial_metadata.html
  52. 14
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_message.html
  53. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_initial_metadata.html
  54. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_message.html
  55. 4
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_server_send_status.html
  56. 6
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_set.html
  57. 10
      doc/ref/c++.internal/html/classgrpc_1_1_call_op_set_interface.html
  58. 395
      doc/ref/c++.internal/html/classgrpc_1_1_channel.html
  59. 35
      doc/ref/c++.internal/html/classgrpc_1_1_channel_arguments.html
  60. 54
      doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader.html
  61. 11
      doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_interface.html
  62. 68
      doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer.html
  63. 31
      doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer_interface.html
  64. 21
      doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader.html
  65. 6
      doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader_interface.html
  66. 35
      doc/ref/c++.internal/html/classgrpc_1_1_client_async_streaming_interface.html
  67. 59
      doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer.html
  68. 30
      doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer_interface.html
  69. 194
      doc/ref/c++.internal/html/classgrpc_1_1_client_context.html
  70. 48
      doc/ref/c++.internal/html/classgrpc_1_1_client_reader.html
  71. 24
      doc/ref/c++.internal/html/classgrpc_1_1_client_reader_interface.html
  72. 61
      doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer.html
  73. 30
      doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer_interface.html
  74. 4
      doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_handler.html
  75. 24
      doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_interface.html
  76. 43
      doc/ref/c++.internal/html/classgrpc_1_1_client_writer.html
  77. 26
      doc/ref/c++.internal/html/classgrpc_1_1_client_writer_interface.html
  78. 97
      doc/ref/c++.internal/html/classgrpc_1_1_completion_queue.html
  79. 13
      doc/ref/c++.internal/html/classgrpc_1_1_completion_queue_tag.html
  80. 40
      doc/ref/c++.internal/html/classgrpc_1_1_credentials.html
  81. 6
      doc/ref/c++.internal/html/classgrpc_1_1_dynamic_thread_pool.html
  82. 6
      doc/ref/c++.internal/html/classgrpc_1_1_fixed_size_thread_pool.html
  83. 15
      doc/ref/c++.internal/html/classgrpc_1_1_generic_server_context.html
  84. 14
      doc/ref/c++.internal/html/classgrpc_1_1_generic_stub.html
  85. 4
      doc/ref/c++.internal/html/classgrpc_1_1_grpc_library.html
  86. 6
      doc/ref/c++.internal/html/classgrpc_1_1_method_handler.html
  87. 371
      doc/ref/c++.internal/html/classgrpc_1_1_propagation_options.html
  88. 29
      doc/ref/c++.internal/html/classgrpc_1_1_reader_interface.html
  89. 50
      doc/ref/c++.internal/html/classgrpc_1_1_rpc_method.html
  90. 4
      doc/ref/c++.internal/html/classgrpc_1_1_rpc_method_handler.html
  91. 4
      doc/ref/c++.internal/html/classgrpc_1_1_rpc_service.html
  92. 10
      doc/ref/c++.internal/html/classgrpc_1_1_rpc_service_method.html
  93. 160
      doc/ref/c++.internal/html/classgrpc_1_1_secure_auth_context.html
  94. 16
      doc/ref/c++.internal/html/classgrpc_1_1_secure_credentials.html
  95. 36
      doc/ref/c++.internal/html/classgrpc_1_1_secure_server_credentials.html
  96. 8
      doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits.html
  97. 6
      doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html
  98. 4
      doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html
  99. 72
      doc/ref/c++.internal/html/classgrpc_1_1_server.html
  100. 4
      doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_shutdown_request.html
  101. Some files were not shown because too many files have changed in this diff Show More

File diff suppressed because one or more lines are too long

@ -394,6 +394,11 @@ targets:
src: [test/core/end2end/dualstack_socket_test.c]
deps: [grpc_test_util, grpc, gpr_test_util, gpr]
platforms: [mac, linux, posix]
- name: endpoint_pair_test
build: test
language: c
src: [test/core/iomgr/endpoint_pair_test.c]
deps: [grpc_test_util, grpc, gpr_test_util, gpr]
- name: fd_conservation_posix_test
build: test
language: c
@ -565,6 +570,7 @@ targets:
language: c
src: [test/core/security/json_token_test.c]
deps: [grpc_test_util, grpc, gpr_test_util, gpr]
platforms: [linux, posix, mac]
- name: grpc_jwt_verifier_test
build: test
language: c
@ -731,6 +737,7 @@ targets:
language: c
src: [test/core/tsi/transport_security_test.c]
deps: [grpc_test_util, grpc, gpr_test_util, gpr]
platforms: [linux, posix, mac]
- name: udp_server_test
build: test
language: c
@ -971,6 +978,12 @@ targets:
language: c++
src: [test/cpp/util/status_test.cc]
deps: [grpc_test_util, grpc++, grpc, gpr_test_util, gpr]
- name: streaming_throughput_test
build: test
language: c++
src: [test/cpp/end2end/streaming_throughput_test.cc]
deps: [grpc++_test_util, grpc_test_util, grpc++, grpc, gpr_test_util, gpr]
platforms: [mac, linux, posix]
- name: sync_streaming_ping_pong_test
build: test
language: c++

@ -2,7 +2,7 @@
"name": "grpc/grpc",
"type": "library",
"description": "gRPC library for PHP",
"version": "0.5.1",
"version": "0.6.0",
"keywords": ["rpc"],
"homepage": "http://grpc.io",
"license": "BSD-3-Clause",

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -89,121 +89,128 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2mnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacegrpc.html" target="_self">grpc</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacegrpc_1_1_call_op_generic_recv_message_helper.html" target="_self">CallOpGenericRecvMessageHelper</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html" target="_self">DeserializeFunc</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html" target="_self">DeserializeFuncType</a></td><td class="desc"></td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_1_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacegrpc_1_1protobuf.html" target="_self">protobuf</a></td><td class="desc"></td></tr>
<tr id="row_0_" class="even"><td class="entry"><img id="arr_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacegrpc.html" target="_self">grpc</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_0_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_0_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacegrpc_1_1_call_op_generic_recv_message_helper.html" target="_self">CallOpGenericRecvMessageHelper</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html" target="_self">DeserializeFunc</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html" target="_self">DeserializeFuncType</a></td><td class="desc"></td></tr>
<tr id="row_0_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_1_')"/><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacegrpc_1_1protobuf.html" target="_self">protobuf</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacegrpc_1_1protobuf_1_1io.html" target="_self">io</a></td><td class="desc"></td></tr>
<tr id="row_0_2_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacegrpc_1_1testing.html" target="_self">testing</a></td><td class="desc"></td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_generic_server_context.html" target="_self">GenericServerContext</a></td><td class="desc"></td></tr>
<tr id="row_0_4_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_async_generic_service.html" target="_self">AsyncGenericService</a></td><td class="desc"></td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_response_reader_interface.html" target="_self">ClientAsyncResponseReaderInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_6_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_response_reader.html" target="_self">ClientAsyncResponseReader</a></td><td class="desc"></td></tr>
<tr id="row_0_7_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_response_writer.html" target="_self">ServerAsyncResponseWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_8_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_auth_context.html" target="_self">AuthContext</a></td><td class="desc"></td></tr>
<tr id="row_0_9_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_auth_property_iterator.html" target="_self">AuthPropertyIterator</a></td><td class="desc"></td></tr>
<tr id="row_0_10_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_byte_buffer.html" target="_self">ByteBuffer</a></td><td class="desc"></td></tr>
<tr id="row_0_11_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html" target="_self">SerializationTraits&lt; ByteBuffer, void &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_12_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_channel_arguments.html" target="_self">ChannelArguments</a></td><td class="desc"></td></tr>
<tr id="row_0_13_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_channel_interface.html" target="_self">ChannelInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_14_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_reader.html" target="_self">ClientReader</a></td><td class="desc"></td></tr>
<tr id="row_0_15_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_writer.html" target="_self">ClientWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_16_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_reader_writer.html" target="_self">ClientReaderWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_17_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_reader.html" target="_self">ClientAsyncReader</a></td><td class="desc"></td></tr>
<tr id="row_0_18_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_writer.html" target="_self">ClientAsyncWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_19_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_reader_writer.html" target="_self">ClientAsyncReaderWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_20_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_context.html" target="_self">ClientContext</a></td><td class="desc"></td></tr>
<tr id="row_0_21_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_reader.html" target="_self">ServerReader</a></td><td class="desc"></td></tr>
<tr id="row_0_22_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_writer.html" target="_self">ServerWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_23_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_reader_writer.html" target="_self">ServerReaderWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_24_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_rpc_method_handler.html" target="_self">RpcMethodHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_25_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_streaming_handler.html" target="_self">ClientStreamingHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_26_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_streaming_handler.html" target="_self">ServerStreamingHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_27_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_bidi_streaming_handler.html" target="_self">BidiStreamingHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_28_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_completion_queue_tag.html" target="_self">CompletionQueueTag</a></td><td class="desc"></td></tr>
<tr id="row_0_29_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_completion_queue.html" target="_self">CompletionQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_30_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_completion_queue.html" target="_self">ServerCompletionQueue</a></td><td class="desc"></td></tr>
<tr id="row_0_31_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_credentials.html" target="_self">Credentials</a></td><td class="desc"></td></tr>
<tr id="row_0_32_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc_1_1_ssl_credentials_options.html" target="_self">SslCredentialsOptions</a></td><td class="desc"></td></tr>
<tr id="row_0_33_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_dynamic_thread_pool.html" target="_self">DynamicThreadPool</a></td><td class="desc"></td></tr>
<tr id="row_0_34_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_fixed_size_thread_pool.html" target="_self">FixedSizeThreadPool</a></td><td class="desc"></td></tr>
<tr id="row_0_35_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_generic_stub.html" target="_self">GenericStub</a></td><td class="desc"></td></tr>
<tr id="row_0_36_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_write_options.html" target="_self">WriteOptions</a></td><td class="desc">Per-message write options </td></tr>
<tr id="row_0_37_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_no_op.html" target="_self">CallNoOp</a></td><td class="desc">Default argument for <a class="el" href="classgrpc_1_1_call_op_set.html" title="Primary implementaiton of CallOpSetInterface. ">CallOpSet</a> </td></tr>
<tr id="row_0_38_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_send_initial_metadata.html" target="_self">CallOpSendInitialMetadata</a></td><td class="desc"></td></tr>
<tr id="row_0_39_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_send_message.html" target="_self">CallOpSendMessage</a></td><td class="desc"></td></tr>
<tr id="row_0_40_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_recv_message.html" target="_self">CallOpRecvMessage</a></td><td class="desc"></td></tr>
<tr id="row_0_41_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_generic_recv_message.html" target="_self">CallOpGenericRecvMessage</a></td><td class="desc"></td></tr>
<tr id="row_0_42_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_client_send_close.html" target="_self">CallOpClientSendClose</a></td><td class="desc"></td></tr>
<tr id="row_0_43_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_server_send_status.html" target="_self">CallOpServerSendStatus</a></td><td class="desc"></td></tr>
<tr id="row_0_44_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_recv_initial_metadata.html" target="_self">CallOpRecvInitialMetadata</a></td><td class="desc"></td></tr>
<tr id="row_0_45_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_client_recv_status.html" target="_self">CallOpClientRecvStatus</a></td><td class="desc"></td></tr>
<tr id="row_0_46_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_set_interface.html" target="_self">CallOpSetInterface</a></td><td class="desc">An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a <a class="el" href="classgrpc_1_1_completion_queue_tag.html">CompletionQueueTag</a>, also massages the final completion into the correct form for consumption in the C++ API </td></tr>
<tr id="row_0_47_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_set.html" target="_self">CallOpSet</a></td><td class="desc">Primary implementaiton of <a class="el" href="classgrpc_1_1_call_op_set_interface.html" title="An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...">CallOpSetInterface</a> </td></tr>
<tr id="row_0_48_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_sneaky_call_op_set.html" target="_self">SneakyCallOpSet</a></td><td class="desc">A <a class="el" href="classgrpc_1_1_call_op_set.html" title="Primary implementaiton of CallOpSetInterface. ">CallOpSet</a> that does not post completions to the completion queue </td></tr>
<tr id="row_0_49_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_hook.html" target="_self">CallHook</a></td><td class="desc"></td></tr>
<tr id="row_0_50_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call.html" target="_self">Call</a></td><td class="desc"></td></tr>
<tr id="row_0_51_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_grpc_library.html" target="_self">GrpcLibrary</a></td><td class="desc"></td></tr>
<tr id="row_0_52_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_internal_stub.html" target="_self">InternalStub</a></td><td class="desc"></td></tr>
<tr id="row_0_53_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html" target="_self">SerializationTraits&lt; T, typename std::enable_if&lt; std::is_base_of&lt; grpc::protobuf::Message, T &gt;::value &gt;::type &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_54_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_rpc_method.html" target="_self">RpcMethod</a></td><td class="desc"></td></tr>
<tr id="row_0_55_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_55_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_55_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_method_handler.html" target="_self">MethodHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_55_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc_1_1_method_handler_1_1_handler_parameter.html" target="_self">HandlerParameter</a></td><td class="desc"></td></tr>
<tr id="row_0_56_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_rpc_service_method.html" target="_self">RpcServiceMethod</a></td><td class="desc"></td></tr>
<tr id="row_0_57_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_rpc_service.html" target="_self">RpcService</a></td><td class="desc"></td></tr>
<tr id="row_0_58_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_serialization_traits.html" target="_self">SerializationTraits</a></td><td class="desc">Defines how to serialize and deserialize some type </td></tr>
<tr id="row_0_59_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_synchronous_service.html" target="_self">SynchronousService</a></td><td class="desc"></td></tr>
<tr id="row_0_60_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_streaming_interface.html" target="_self">ServerAsyncStreamingInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_61_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_asynchronous_service.html" target="_self">AsynchronousService</a></td><td class="desc"></td></tr>
<tr id="row_0_62_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1lock__guard.html" target="_self">lock_guard</a></td><td class="desc"></td></tr>
<tr id="row_0_63_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1mutex.html" target="_self">mutex</a></td><td class="desc"></td></tr>
<tr id="row_0_64_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1unique__lock.html" target="_self">unique_lock</a></td><td class="desc"></td></tr>
<tr id="row_0_65_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1condition__variable.html" target="_self">condition_variable</a></td><td class="desc"></td></tr>
<tr id="row_0_66_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1thread.html" target="_self">thread</a></td><td class="desc"></td></tr>
<tr id="row_0_67_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_67_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_67_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server.html" target="_self">Server</a></td><td class="desc"></td></tr>
<tr id="row_0_67_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_1_1_shutdown_request.html" target="_self">ShutdownRequest</a></td><td class="desc"></td></tr>
<tr id="row_0_67_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_67_1_" src="ftv2plastnode.png" alt="\" width="16" height="22" onclick="toggleFolder('0_67_1_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_1_1_sync_request.html" target="_self">SyncRequest</a></td><td class="desc"></td></tr>
<tr id="row_0_67_1_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2blank.png" alt="&#160;" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html" target="_self">CallData</a></td><td class="desc"></td></tr>
<tr id="row_0_68_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_builder.html" target="_self">ServerBuilder</a></td><td class="desc"></td></tr>
<tr id="row_0_69_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_reader.html" target="_self">ServerAsyncReader</a></td><td class="desc"></td></tr>
<tr id="row_0_70_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_writer.html" target="_self">ServerAsyncWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_71_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_reader_writer.html" target="_self">ServerAsyncReaderWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_72_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_72_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_72_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_context.html" target="_self">ServerContext</a></td><td class="desc"></td></tr>
<tr id="row_0_72_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_context_1_1_completion_op.html" target="_self">CompletionOp</a></td><td class="desc"></td></tr>
<tr id="row_0_73_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_credentials.html" target="_self">ServerCredentials</a></td><td class="desc"></td></tr>
<tr id="row_0_74_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_74_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_74_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc_1_1_ssl_server_credentials_options.html" target="_self">SslServerCredentialsOptions</a></td><td class="desc"></td></tr>
<tr id="row_0_74_0_" class="even" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html" target="_self">PemKeyCertPair</a></td><td class="desc"></td></tr>
<tr id="row_0_75_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_slice.html" target="_self">Slice</a></td><td class="desc"></td></tr>
<tr id="row_0_76_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_status.html" target="_self">Status</a></td><td class="desc"></td></tr>
<tr id="row_0_77_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_streaming_interface.html" target="_self">ClientStreamingInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_78_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_reader_interface.html" target="_self">ReaderInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_79_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_writer_interface.html" target="_self">WriterInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_80_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_reader_interface.html" target="_self">ClientReaderInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_81_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_writer_interface.html" target="_self">ClientWriterInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_82_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_reader_writer_interface.html" target="_self">ClientReaderWriterInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_83_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html" target="_self">ClientAsyncStreamingInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_84_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_async_reader_interface.html" target="_self">AsyncReaderInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_85_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_async_writer_interface.html" target="_self">AsyncWriterInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_86_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_reader_interface.html" target="_self">ClientAsyncReaderInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_87_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_writer_interface.html" target="_self">ClientAsyncWriterInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_88_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_reader_writer_interface.html" target="_self">ClientAsyncReaderWriterInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_89_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_thread_pool_interface.html" target="_self">ThreadPoolInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_90_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_time_point.html" target="_self">TimePoint</a></td><td class="desc"></td></tr>
<tr id="row_0_91_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html" target="_self">TimePoint&lt; gpr_timespec &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_92_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html" target="_self">TimePoint&lt; std::chrono::system_clock::time_point &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_93_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_secure_credentials.html" target="_self">SecureCredentials</a></td><td class="desc"></td></tr>
<tr id="row_0_94_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_secure_auth_context.html" target="_self">SecureAuthContext</a></td><td class="desc"></td></tr>
<tr id="row_0_95_" class="even"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_secure_server_credentials.html" target="_self">SecureServerCredentials</a></td><td class="desc"></td></tr>
<tr id="row_0_96_"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_channel.html" target="_self">Channel</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="even"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_grpc_buffer_reader.html" target="_self">GrpcBufferReader</a></td><td class="desc"></td></tr>
<tr id="row_2_"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_grpc_buffer_writer.html" target="_self">GrpcBufferWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2ns.png" alt="N" width="24" height="22" /><a class="el" href="namespacegrpc_1_1testing.html" target="_self">testing</a></td><td class="desc"></td></tr>
<tr id="row_0_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_reader.html" target="_self">ClientReader</a></td><td class="desc"></td></tr>
<tr id="row_0_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_writer.html" target="_self">ClientWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_5_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_reader_writer.html" target="_self">ClientReaderWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_6_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_reader.html" target="_self">ClientAsyncReader</a></td><td class="desc"></td></tr>
<tr id="row_0_7_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_writer.html" target="_self">ClientAsyncWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_8_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_reader_writer.html" target="_self">ClientAsyncReaderWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_9_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_response_reader.html" target="_self">ClientAsyncResponseReader</a></td><td class="desc"></td></tr>
<tr id="row_0_10_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_channel.html" target="_self">Channel</a></td><td class="desc">Channels represent a connection to an endpoint. Created by <em>CreateChannel</em> </td></tr>
<tr id="row_0_11_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_propagation_options.html" target="_self">PropagationOptions</a></td><td class="desc">Options for <em><a class="el" href="classgrpc_1_1_client_context.html#a6e07af41b550bf697ee8063e5baae967" title="Create a new ClientContext as a child of an incoming server call, according to options (...">ClientContext::FromServerContext</a></em> specifying which traits from the <em><a class="el" href="classgrpc_1_1_server_context.html">ServerContext</a></em> to propagate (copy) from it into a new <em><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a></em> </td></tr>
<tr id="row_0_12_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_context.html" target="_self">ClientContext</a></td><td class="desc"></td></tr>
<tr id="row_0_13_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_reader.html" target="_self">ServerReader</a></td><td class="desc"></td></tr>
<tr id="row_0_14_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_writer.html" target="_self">ServerWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_15_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_reader_writer.html" target="_self">ServerReaderWriter</a></td><td class="desc">Server-side interface for bi-directional streaming </td></tr>
<tr id="row_0_16_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_rpc_method_handler.html" target="_self">RpcMethodHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_17_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_streaming_handler.html" target="_self">ClientStreamingHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_18_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_streaming_handler.html" target="_self">ServerStreamingHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_19_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_bidi_streaming_handler.html" target="_self">BidiStreamingHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_20_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_completion_queue.html" target="_self">CompletionQueue</a></td><td class="desc">A thin wrapper around <em>grpc_completion_queue</em> (see / <em>src/core/surface/completion_queue.h</em>) </td></tr>
<tr id="row_0_21_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_completion_queue_tag.html" target="_self">CompletionQueueTag</a></td><td class="desc">An interface allowing implementors to process and filter event tags </td></tr>
<tr id="row_0_22_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_completion_queue.html" target="_self">ServerCompletionQueue</a></td><td class="desc">A specific type of completion queue used by the processing of notifications by servers </td></tr>
<tr id="row_0_23_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_generic_server_context.html" target="_self">GenericServerContext</a></td><td class="desc"></td></tr>
<tr id="row_0_24_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_async_generic_service.html" target="_self">AsyncGenericService</a></td><td class="desc"></td></tr>
<tr id="row_0_25_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_generic_stub.html" target="_self">GenericStub</a></td><td class="desc"></td></tr>
<tr id="row_0_26_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_write_options.html" target="_self">WriteOptions</a></td><td class="desc">Per-message write options </td></tr>
<tr id="row_0_27_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_no_op.html" target="_self">CallNoOp</a></td><td class="desc">Default argument for <a class="el" href="classgrpc_1_1_call_op_set.html" title="Primary implementaiton of CallOpSetInterface. ">CallOpSet</a> </td></tr>
<tr id="row_0_28_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_send_initial_metadata.html" target="_self">CallOpSendInitialMetadata</a></td><td class="desc"></td></tr>
<tr id="row_0_29_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_send_message.html" target="_self">CallOpSendMessage</a></td><td class="desc"></td></tr>
<tr id="row_0_30_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_recv_message.html" target="_self">CallOpRecvMessage</a></td><td class="desc"></td></tr>
<tr id="row_0_31_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_generic_recv_message.html" target="_self">CallOpGenericRecvMessage</a></td><td class="desc"></td></tr>
<tr id="row_0_32_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_client_send_close.html" target="_self">CallOpClientSendClose</a></td><td class="desc"></td></tr>
<tr id="row_0_33_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_server_send_status.html" target="_self">CallOpServerSendStatus</a></td><td class="desc"></td></tr>
<tr id="row_0_34_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_recv_initial_metadata.html" target="_self">CallOpRecvInitialMetadata</a></td><td class="desc"></td></tr>
<tr id="row_0_35_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_client_recv_status.html" target="_self">CallOpClientRecvStatus</a></td><td class="desc"></td></tr>
<tr id="row_0_36_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_set_interface.html" target="_self">CallOpSetInterface</a></td><td class="desc">An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a <a class="el" href="classgrpc_1_1_completion_queue_tag.html" title="An interface allowing implementors to process and filter event tags. ">CompletionQueueTag</a>, also massages the final completion into the correct form for consumption in the C++ API </td></tr>
<tr id="row_0_37_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_op_set.html" target="_self">CallOpSet</a></td><td class="desc">Primary implementaiton of <a class="el" href="classgrpc_1_1_call_op_set_interface.html" title="An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...">CallOpSetInterface</a> </td></tr>
<tr id="row_0_38_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_sneaky_call_op_set.html" target="_self">SneakyCallOpSet</a></td><td class="desc">A <a class="el" href="classgrpc_1_1_call_op_set.html" title="Primary implementaiton of CallOpSetInterface. ">CallOpSet</a> that does not post completions to the completion queue </td></tr>
<tr id="row_0_39_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call_hook.html" target="_self">CallHook</a></td><td class="desc"></td></tr>
<tr id="row_0_40_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_call.html" target="_self">Call</a></td><td class="desc"></td></tr>
<tr id="row_0_41_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_grpc_library.html" target="_self">GrpcLibrary</a></td><td class="desc"></td></tr>
<tr id="row_0_42_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html" target="_self">SerializationTraits&lt; T, typename std::enable_if&lt; std::is_base_of&lt; grpc::protobuf::Message, T &gt;::value &gt;::type &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_43_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_rpc_method.html" target="_self">RpcMethod</a></td><td class="desc"></td></tr>
<tr id="row_0_44_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_44_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_44_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_method_handler.html" target="_self">MethodHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_44_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc_1_1_method_handler_1_1_handler_parameter.html" target="_self">HandlerParameter</a></td><td class="desc"></td></tr>
<tr id="row_0_45_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_unknown_method_handler.html" target="_self">UnknownMethodHandler</a></td><td class="desc"></td></tr>
<tr id="row_0_46_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_rpc_service_method.html" target="_self">RpcServiceMethod</a></td><td class="desc"></td></tr>
<tr id="row_0_47_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_rpc_service.html" target="_self">RpcService</a></td><td class="desc"></td></tr>
<tr id="row_0_48_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_serialization_traits.html" target="_self">SerializationTraits</a></td><td class="desc">Defines how to serialize and deserialize some type </td></tr>
<tr id="row_0_49_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_synchronous_service.html" target="_self">SynchronousService</a></td><td class="desc"></td></tr>
<tr id="row_0_50_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_streaming_interface.html" target="_self">ServerAsyncStreamingInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_51_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_asynchronous_service.html" target="_self">AsynchronousService</a></td><td class="desc"></td></tr>
<tr id="row_0_52_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1lock__guard.html" target="_self">lock_guard</a></td><td class="desc"></td></tr>
<tr id="row_0_53_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1mutex.html" target="_self">mutex</a></td><td class="desc"></td></tr>
<tr id="row_0_54_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1unique__lock.html" target="_self">unique_lock</a></td><td class="desc"></td></tr>
<tr id="row_0_55_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1condition__variable.html" target="_self">condition_variable</a></td><td class="desc"></td></tr>
<tr id="row_0_56_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1thread.html" target="_self">thread</a></td><td class="desc"></td></tr>
<tr id="row_0_57_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_auth_property_iterator.html" target="_self">AuthPropertyIterator</a></td><td class="desc"></td></tr>
<tr id="row_0_58_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_auth_context.html" target="_self">AuthContext</a></td><td class="desc">Class encapsulating the Authentication Information </td></tr>
<tr id="row_0_59_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_auth_metadata_processor.html" target="_self">AuthMetadataProcessor</a></td><td class="desc"></td></tr>
<tr id="row_0_60_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_credentials.html" target="_self">Credentials</a></td><td class="desc">A credentials object encapsulates all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client’s identity, role, or whether it is authorized to make a particular call </td></tr>
<tr id="row_0_61_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc_1_1_ssl_credentials_options.html" target="_self">SslCredentialsOptions</a></td><td class="desc">Options used to build SslCredentials </td></tr>
<tr id="row_0_62_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_credentials.html" target="_self">ServerCredentials</a></td><td class="desc"></td></tr>
<tr id="row_0_63_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_63_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_63_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc_1_1_ssl_server_credentials_options.html" target="_self">SslServerCredentialsOptions</a></td><td class="desc">Options to create <a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> with SSL </td></tr>
<tr id="row_0_63_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html" target="_self">PemKeyCertPair</a></td><td class="desc"></td></tr>
<tr id="row_0_64_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_64_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_64_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server.html" target="_self">Server</a></td><td class="desc">Models a gRPC server </td></tr>
<tr id="row_0_64_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_1_1_shutdown_request.html" target="_self">ShutdownRequest</a></td><td class="desc"></td></tr>
<tr id="row_0_64_1_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_64_1_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_64_1_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_1_1_sync_request.html" target="_self">SyncRequest</a></td><td class="desc"></td></tr>
<tr id="row_0_64_1_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html" target="_self">CallData</a></td><td class="desc"></td></tr>
<tr id="row_0_64_2_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_request.html" target="_self">UnimplementedAsyncRequest</a></td><td class="desc"></td></tr>
<tr id="row_0_64_3_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_request_context.html" target="_self">UnimplementedAsyncRequestContext</a></td><td class="desc"></td></tr>
<tr id="row_0_64_4_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_response.html" target="_self">UnimplementedAsyncResponse</a></td><td class="desc"></td></tr>
<tr id="row_0_65_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_builder.html" target="_self">ServerBuilder</a></td><td class="desc">A builder class for the creation and startup of <em><a class="el" href="classgrpc_1_1_server.html" title="Models a gRPC server. ">grpc::Server</a></em> instances </td></tr>
<tr id="row_0_66_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_reader.html" target="_self">ServerAsyncReader</a></td><td class="desc"></td></tr>
<tr id="row_0_67_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_writer.html" target="_self">ServerAsyncWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_68_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_response_writer.html" target="_self">ServerAsyncResponseWriter</a></td><td class="desc"></td></tr>
<tr id="row_0_69_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_async_reader_writer.html" target="_self">ServerAsyncReaderWriter</a></td><td class="desc">Server-side interface for asynchronous bi-directional streaming </td></tr>
<tr id="row_0_70_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img id="arr_0_70_" src="ftv2pnode.png" alt="o" width="16" height="22" onclick="toggleFolder('0_70_')"/><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_context.html" target="_self">ServerContext</a></td><td class="desc"></td></tr>
<tr id="row_0_70_0_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_server_context_1_1_completion_op.html" target="_self">CompletionOp</a></td><td class="desc"></td></tr>
<tr id="row_0_71_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html" target="_self">ClientAsyncStreamingInterface</a></td><td class="desc">Common interface for all client side asynchronous streaming </td></tr>
<tr id="row_0_72_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_async_reader_interface.html" target="_self">AsyncReaderInterface</a></td><td class="desc">An interface that yields a sequence of messages of type <em>R</em> </td></tr>
<tr id="row_0_73_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_async_writer_interface.html" target="_self">AsyncWriterInterface</a></td><td class="desc">An interface that can be fed a sequence of messages of type <em>W</em> </td></tr>
<tr id="row_0_74_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_reader_interface.html" target="_self">ClientAsyncReaderInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_75_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_writer_interface.html" target="_self">ClientAsyncWriterInterface</a></td><td class="desc">Common interface for client side asynchronous writing </td></tr>
<tr id="row_0_76_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_reader_writer_interface.html" target="_self">ClientAsyncReaderWriterInterface</a></td><td class="desc">Client-side interface for asynchronous bi-directional streaming </td></tr>
<tr id="row_0_77_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_async_response_reader_interface.html" target="_self">ClientAsyncResponseReaderInterface</a></td><td class="desc"></td></tr>
<tr id="row_0_78_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_byte_buffer.html" target="_self">ByteBuffer</a></td><td class="desc">A sequence of bytes </td></tr>
<tr id="row_0_79_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html" target="_self">SerializationTraits&lt; ByteBuffer, void &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_80_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_channel_arguments.html" target="_self">ChannelArguments</a></td><td class="desc">Options for channel creation </td></tr>
<tr id="row_0_81_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_slice.html" target="_self">Slice</a></td><td class="desc">A wrapper around <em>grpc_slice</em> </td></tr>
<tr id="row_0_82_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_status.html" target="_self">Status</a></td><td class="desc">Did it work? If it didn't, why? </td></tr>
<tr id="row_0_83_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1string__ref.html" target="_self">string_ref</a></td><td class="desc">This class is a non owning reference to a string </td></tr>
<tr id="row_0_84_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_stub_options.html" target="_self">StubOptions</a></td><td class="desc"></td></tr>
<tr id="row_0_85_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_streaming_interface.html" target="_self">ClientStreamingInterface</a></td><td class="desc">Common interface for all synchronous client side streaming </td></tr>
<tr id="row_0_86_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_reader_interface.html" target="_self">ReaderInterface</a></td><td class="desc">An interface that yields a sequence of messages of type <em>R</em> </td></tr>
<tr id="row_0_87_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_writer_interface.html" target="_self">WriterInterface</a></td><td class="desc">An interface that can be fed a sequence of messages of type <em>W</em> </td></tr>
<tr id="row_0_88_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_reader_interface.html" target="_self">ClientReaderInterface</a></td><td class="desc">Client-side interface for streaming reads of message of type <em>R</em> </td></tr>
<tr id="row_0_89_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_writer_interface.html" target="_self">ClientWriterInterface</a></td><td class="desc">Client-side interface for streaming writes of message of type <em>W</em> </td></tr>
<tr id="row_0_90_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_client_reader_writer_interface.html" target="_self">ClientReaderWriterInterface</a></td><td class="desc">Client-side interface for bi-directional streaming </td></tr>
<tr id="row_0_91_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_time_point.html" target="_self">TimePoint</a></td><td class="desc"></td></tr>
<tr id="row_0_92_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html" target="_self">TimePoint&lt; gpr_timespec &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_93_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html" target="_self">TimePoint&lt; std::chrono::system_clock::time_point &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_94_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_secure_credentials.html" target="_self">SecureCredentials</a></td><td class="desc"></td></tr>
<tr id="row_0_95_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_secure_auth_context.html" target="_self">SecureAuthContext</a></td><td class="desc"></td></tr>
<tr id="row_0_96_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_auth_metadata_processor_aync_wrapper.html" target="_self">AuthMetadataProcessorAyncWrapper</a></td><td class="desc"></td></tr>
<tr id="row_0_97_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_secure_server_credentials.html" target="_self">SecureServerCredentials</a></td><td class="desc"></td></tr>
<tr id="row_0_98_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_dynamic_thread_pool.html" target="_self">DynamicThreadPool</a></td><td class="desc"></td></tr>
<tr id="row_0_99_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_fixed_size_thread_pool.html" target="_self">FixedSizeThreadPool</a></td><td class="desc"></td></tr>
<tr id="row_0_100_" style="display:none;"><td class="entry"><img src="ftv2vertline.png" alt="|" width="16" height="22" /><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="classgrpc_1_1_thread_pool_interface.html" target="_self">ThreadPoolInterface</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><img src="ftv2node.png" alt="o" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_grpc_buffer_reader.html" target="_self">GrpcBufferReader</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><img src="ftv2lastnode.png" alt="\" width="16" height="22" /><img src="ftv2cl.png" alt="C" width="24" height="22" /><a class="el" href="class_grpc_buffer_writer.html" target="_self">GrpcBufferWriter</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -91,7 +91,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">async_generic_service.cc File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="async__generic__service_8h_source.html">grpc++/async_generic_service.h</a>&gt;</code><br/>
<div class="textblock"><code>#include &lt;<a class="el" href="async__generic__service_8h_source.html">grpc++/generic/async_generic_service.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="server_8h_source.html">grpc++/server.h</a>&gt;</code><br/>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@ -102,7 +102,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/async_generic_service.h File Reference</title>
<title>GRPC C++: include/grpc++/generic/async_generic_service.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_19df79a805b4861569a906876c7b9634.html">generic</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -93,8 +93,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">async_generic_service.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="byte__buffer_8h_source.html">grpc++/byte_buffer.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="stream_8h_source.html">grpc++/stream.h</a>&gt;</code><br/>
<div class="textblock"><code>#include &lt;<a class="el" href="byte__buffer_8h_source.html">grpc++/support/byte_buffer.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="async__stream_8h_source.html">grpc++/support/async_stream.h</a>&gt;</code><br/>
</div>
<p><a href="async__generic__service_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
@ -120,7 +120,7 @@ ServerAsyncReaderWriter<br class="typebreak"/>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/async_generic_service.h Source File</title>
<title>GRPC C++: include/grpc++/generic/async_generic_service.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_19df79a805b4861569a906876c7b9634.html">generic</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -122,17 +122,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_ASYNC_GENERIC_SERVICE_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_ASYNC_GENERIC_SERVICE_H</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_GENERIC_ASYNC_GENERIC_SERVICE_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_GENERIC_ASYNC_GENERIC_SERVICE_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="byte__buffer_8h.html">grpc++/byte_buffer.h</a>&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="stream_8h.html">grpc++/stream.h</a>&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="byte__buffer_8h.html">grpc++/support/byte_buffer.h</a>&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="async__stream_8h.html">grpc++/support/async_stream.h</a>&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="keyword">struct </span>grpc_server;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="namespacegrpc.html"> 42</a></span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">typedef</span> <a class="code" href="classgrpc_1_1_server_async_reader_writer.html">ServerAsyncReaderWriter&lt;ByteBuffer, ByteBuffer&gt;</a></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">typedef</span> ServerAsyncReaderWriter&lt;ByteBuffer, ByteBuffer&gt;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="namespacegrpc.html#a7b3db9e9e4d0c7faf701c9ebd455196a"> 45</a></span>&#160; <a class="code" href="namespacegrpc.html#a7b3db9e9e4d0c7faf701c9ebd455196a">GenericServerAsyncReaderWriter</a>;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classgrpc_1_1_generic_server_context.html"> 47</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_generic_server_context.html">GenericServerContext</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_server_context.html">ServerContext</a> {</div>
@ -166,27 +166,27 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#endif // GRPCXX_ASYNC_GENERIC_SERVICE_H</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="preprocessor">#endif // GRPCXX_GENERIC_ASYNC_GENERIC_SERVICE_H</span></div>
<div class="ttc" id="namespacegrpc_html_ab04a87625da3bf85cdaf5e7856b00203"><div class="ttname"><a href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a></div><div class="ttdeci">std::string string</div><div class="ttdef"><b>Definition:</b> config.h:112</div></div>
<div class="ttc" id="byte__buffer_8h_html"><div class="ttname"><a href="byte__buffer_8h.html">byte_buffer.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_writer_html"><div class="ttname"><a href="classgrpc_1_1_server_async_reader_writer.html">grpc::ServerAsyncReaderWriter</a></div><div class="ttdef"><b>Definition:</b> server_context.h:60</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_writer_html"><div class="ttname"><a href="classgrpc_1_1_server_async_reader_writer.html">grpc::ServerAsyncReaderWriter&lt; ByteBuffer, ByteBuffer &gt;</a></div></div>
<div class="ttc" id="classgrpc_1_1_async_generic_service_html_a60e3bd7ac8673ed0b49b1260a91518ae"><div class="ttname"><a href="classgrpc_1_1_async_generic_service.html#a60e3bd7ac8673ed0b49b1260a91518ae">grpc::AsyncGenericService::AsyncGenericService</a></div><div class="ttdeci">AsyncGenericService(const grpc::string &amp;methods)</div><div class="ttdef"><b>Definition:</b> async_generic_service.h:64</div></div>
<div class="ttc" id="config_8h_html_ab2216aa6e0ffe505e1ec362a9621a7f9"><div class="ttname"><a href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div><div class="ttdeci">#define GRPC_FINAL</div><div class="ttdef"><b>Definition:</b> config.h:71</div></div>
<div class="ttc" id="classgrpc_1_1_async_generic_service_html"><div class="ttname"><a href="classgrpc_1_1_async_generic_service.html">grpc::AsyncGenericService</a></div><div class="ttdef"><b>Definition:</b> async_generic_service.h:59</div></div>
<div class="ttc" id="classgrpc_1_1_async_generic_service_html_aeab5c20e89a754d5add4bdaad01a3ef6"><div class="ttname"><a href="classgrpc_1_1_async_generic_service.html#aeab5c20e89a754d5add4bdaad01a3ef6">grpc::AsyncGenericService::RequestCall</a></div><div class="ttdeci">void RequestCall(GenericServerContext *ctx, GenericServerAsyncReaderWriter *reader_writer, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)</div><div class="ttdef"><b>Definition:</b> async_generic_service.cc:40</div></div>
<div class="ttc" id="stream_8h_html"><div class="ttname"><a href="stream_8h.html">stream.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_server_html"><div class="ttname"><a href="classgrpc_1_1_server.html">grpc::Server</a></div><div class="ttdef"><b>Definition:</b> server.h:61</div></div>
<div class="ttc" id="async__stream_8h_html"><div class="ttname"><a href="async__stream_8h.html">async_stream.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_server_html"><div class="ttname"><a href="classgrpc_1_1_server.html">grpc::Server</a></div><div class="ttdoc">Models a gRPC server. </div><div class="ttdef"><b>Definition:</b> server.h:63</div></div>
<div class="ttc" id="namespacegrpc_html_a7b3db9e9e4d0c7faf701c9ebd455196a"><div class="ttname"><a href="namespacegrpc.html#a7b3db9e9e4d0c7faf701c9ebd455196a">grpc::GenericServerAsyncReaderWriter</a></div><div class="ttdeci">ServerAsyncReaderWriter&lt; ByteBuffer, ByteBuffer &gt; GenericServerAsyncReaderWriter</div><div class="ttdef"><b>Definition:</b> async_generic_service.h:45</div></div>
<div class="ttc" id="classgrpc_1_1_server_context_html"><div class="ttname"><a href="classgrpc_1_1_server_context.html">grpc::ServerContext</a></div><div class="ttdef"><b>Definition:</b> server_context.h:86</div></div>
<div class="ttc" id="classgrpc_1_1_server_context_html"><div class="ttname"><a href="classgrpc_1_1_server_context.html">grpc::ServerContext</a></div><div class="ttdef"><b>Definition:</b> server_context.h:89</div></div>
<div class="ttc" id="classgrpc_1_1_generic_server_context_html"><div class="ttname"><a href="classgrpc_1_1_generic_server_context.html">grpc::GenericServerContext</a></div><div class="ttdef"><b>Definition:</b> async_generic_service.h:47</div></div>
<div class="ttc" id="classgrpc_1_1_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_completion_queue.html">grpc::CompletionQueue</a></div><div class="ttdef"><b>Definition:</b> completion_queue.h:87</div></div>
<div class="ttc" id="classgrpc_1_1_server_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_server_completion_queue.html">grpc::ServerCompletionQueue</a></div><div class="ttdef"><b>Definition:</b> completion_queue.h:162</div></div>
<div class="ttc" id="classgrpc_1_1_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_completion_queue.html">grpc::CompletionQueue</a></div><div class="ttdoc">A thin wrapper around grpc_completion_queue (see / src/core/surface/completion_queue.h). </div><div class="ttdef"><b>Definition:</b> completion_queue.h:81</div></div>
<div class="ttc" id="classgrpc_1_1_server_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_server_completion_queue.html">grpc::ServerCompletionQueue</a></div><div class="ttdoc">A specific type of completion queue used by the processing of notifications by servers. </div><div class="ttdef"><b>Definition:</b> completion_queue.h:204</div></div>
<div class="ttc" id="classgrpc_1_1_generic_server_context_html_a2962278c0c6280a2d95f5747ea03babc"><div class="ttname"><a href="classgrpc_1_1_generic_server_context.html#a2962278c0c6280a2d95f5747ea03babc">grpc::GenericServerContext::host</a></div><div class="ttdeci">const grpc::string &amp; host() const </div><div class="ttdef"><b>Definition:</b> async_generic_service.h:50</div></div>
<div class="ttc" id="classgrpc_1_1_generic_server_context_html_ae08880fa4adb490326953ad905715c37"><div class="ttname"><a href="classgrpc_1_1_generic_server_context.html#ae08880fa4adb490326953ad905715c37">grpc::GenericServerContext::method</a></div><div class="ttdeci">const grpc::string &amp; method() const </div><div class="ttdef"><b>Definition:</b> async_generic_service.h:49</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/stream.h File Reference</title>
<title>GRPC C++: include/grpc++/support/async_stream.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_b3f05bce718e375cbe64ccd78910fb7d.html">support</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -89,61 +89,42 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">stream.h File Reference</div> </div>
<div class="title">async_stream.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="channel__interface_8h_source.html">grpc++/channel_interface.h</a>&gt;</code><br/>
<div class="textblock"><code>#include &lt;grpc/support/log.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="channel_8h_source.html">grpc++/channel.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="client__context_8h_source.html">grpc++/client_context.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="completion__queue_8h_source.html">grpc++/completion_queue.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="server__context_8h_source.html">grpc++/server_context.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="call_8h_source.html">grpc++/impl/call.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="service__type_8h_source.html">grpc++/impl/service_type.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/status.h</a>&gt;</code><br/>
<code>#include &lt;grpc/support/log.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="server__context_8h_source.html">grpc++/server_context.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/support/status.h</a>&gt;</code><br/>
</div>
<p><a href="stream_8h_source.html">Go to the source code of this file.</a></p>
<p><a href="async__stream_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html">grpc::ClientStreamingInterface</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_reader_interface.html">grpc::ReaderInterface&lt; R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html">grpc::WriterInterface&lt; W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_interface.html">grpc::ClientReaderInterface&lt; R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html">grpc::ClientReader&lt; R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_writer_interface.html">grpc::ClientWriterInterface&lt; W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_writer.html">grpc::ClientWriter&lt; W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer_interface.html">grpc::ClientReaderWriterInterface&lt; W, R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer.html">grpc::ClientReaderWriter&lt; R, W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_reader.html">grpc::ServerReader&lt; R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_writer.html">grpc::ServerWriter&lt; W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_reader_writer.html">grpc::ServerReaderWriter&lt; R, W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html">grpc::ClientAsyncStreamingInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for all client side asynchronous streaming. <a href="classgrpc_1_1_client_async_streaming_interface.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_reader_interface.html">grpc::AsyncReaderInterface&lt; R &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interface that yields a sequence of messages of type <em>R</em>. <a href="classgrpc_1_1_async_reader_interface.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html">grpc::AsyncWriterInterface&lt; W &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An interface that can be fed a sequence of messages of type <em>W</em>. <a href="classgrpc_1_1_async_writer_interface.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_interface.html">grpc::ClientAsyncReaderInterface&lt; R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader.html">grpc::ClientAsyncReader&lt; R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer_interface.html">grpc::ClientAsyncWriterInterface&lt; W &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Common interface for client side asynchronous writing. <a href="classgrpc_1_1_client_async_writer_interface.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer.html">grpc::ClientAsyncWriter&lt; W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer_interface.html">grpc::ClientAsyncReaderWriterInterface&lt; W, R &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Client-side interface for asynchronous bi-directional streaming. <a href="classgrpc_1_1_client_async_reader_writer_interface.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html">grpc::ClientAsyncReaderWriter&lt; R, W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -152,6 +133,7 @@ Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_async_writer.html">grpc::ServerAsyncWriter&lt; W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_async_reader_writer.html">grpc::ServerAsyncReaderWriter&lt; R, W &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Server-side interface for asynchronous bi-directional streaming. <a href="classgrpc_1_1_server_async_reader_writer.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@ -162,7 +144,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:06 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -0,0 +1,598 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/support/async_stream.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_b3f05bce718e375cbe64ccd78910fb7d.html">support</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">async_stream.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="async__stream_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright 2015, Google Inc.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions are</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * met:</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * * Redistributions in binary form must reproduce the above</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * copyright notice, this list of conditions and the following disclaimer</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * in the documentation and/or other materials provided with the</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * distribution.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * * Neither the name of Google Inc. nor the names of its</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * contributors may be used to endorse or promote products derived from</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * this software without specific prior written permission.</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_SUPPORT_ASYNC_STREAM_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_SUPPORT_ASYNC_STREAM_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;grpc/support/log.h&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="channel_8h.html">grpc++/channel.h</a>&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="client__context_8h.html">grpc++/client_context.h</a>&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="completion__queue_8h.html">grpc++/completion_queue.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="call_8h.html">grpc++/impl/call.h</a>&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="service__type_8h.html">grpc++/impl/service_type.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="server__context_8h.html">grpc++/server_context.h</a>&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="status_8h.html">grpc++/support/status.h</a>&gt;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_streaming_interface.html"> 49</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_streaming_interface.html">ClientAsyncStreamingInterface</a> {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28"> 51</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28">~ClientAsyncStreamingInterface</a>() {}</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174">ReadInitialMetadata</a>(<span class="keywordtype">void</span>* tag) = 0;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24">Finish</a>(<a class="code" href="classgrpc_1_1_status.html">Status</a>* status, <span class="keywordtype">void</span>* tag) = 0;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;};</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classgrpc_1_1_async_reader_interface.html"> 68</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_async_reader_interface.html">AsyncReaderInterface</a> {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379"> 70</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379">~AsyncReaderInterface</a>() {}</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11">Read</a>(R* msg, <span class="keywordtype">void</span>* tag) = 0;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;};</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classgrpc_1_1_async_writer_interface.html"> 82</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_async_writer_interface.html">AsyncWriterInterface</a> {</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd"> 84</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd">~AsyncWriterInterface</a>() {}</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4">Write</a>(<span class="keyword">const</span> W&amp; msg, <span class="keywordtype">void</span>* tag) = 0;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;};</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader_interface.html"> 94</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_reader_interface.html">ClientAsyncReaderInterface</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_client_async_streaming_interface.html">ClientAsyncStreamingInterface</a>,</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_async_reader_interface.html">AsyncReaderInterface</a>&lt;R&gt; {};</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_reader.html">ClientAsyncReader</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_client_async_reader_interface.html">ClientAsyncReaderInterface</a>&lt;R&gt; {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader.html#acb7e350f4b6dcc7acdfdbb9d97c012bd"> 102</a></span>&#160; <a class="code" href="classgrpc_1_1_client_async_reader.html#acb7e350f4b6dcc7acdfdbb9d97c012bd">ClientAsyncReader</a>(<a class="code" href="classgrpc_1_1_channel.html">Channel</a>* channel, <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq,</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">const</span> <a class="code" href="classgrpc_1_1_rpc_method.html">RpcMethod</a>&amp; method, <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context,</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keyword">const</span> W&amp; request, <span class="keywordtype">void</span>* tag)</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; : context_(context), call_(channel-&gt;CreateCall(method, context, cq)) {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; init_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; init_ops_.SendInitialMetadata(context-&gt;send_initial_metadata_);</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// TODO(ctiller): don&#39;t assert</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; GPR_ASSERT(init_ops_.SendMessage(request).ok());</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; init_ops_.ClientSendClose();</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;init_ops_);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;</div>
<div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader.html#a0e5b71e2620dc95fe41305eef7ee7863"> 114</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_reader.html#a0e5b71e2620dc95fe41305eef7ee7863">ReadInitialMetadata</a>(<span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; GPR_ASSERT(!context_-&gt;initial_metadata_received_);</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; meta_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; meta_ops_.RecvInitialMetadata(context_);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;meta_ops_);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d"> 122</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d">Read</a>(R* msg, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; read_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span> (!context_-&gt;initial_metadata_received_) {</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; read_ops_.RecvInitialMetadata(context_);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; read_ops_.RecvMessage(msg);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;read_ops_);</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader.html#a91bfabf65e2dc955b6983bc0ece5a73f"> 131</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_reader.html#a91bfabf65e2dc955b6983bc0ece5a73f">Finish</a>(<a class="code" href="classgrpc_1_1_status.html">Status</a>* status, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; finish_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (!context_-&gt;initial_metadata_received_) {</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; finish_ops_.RecvInitialMetadata(context_);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; finish_ops_.ClientRecvStatus(context_, status);</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;finish_ops_);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context_;</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="classgrpc_1_1_call.html">Call</a> call_;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpSendInitialMetadata, CallOpSendMessage, CallOpClientSendClose&gt;</a></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; init_ops_;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpRecvInitialMetadata&gt;</a> meta_ops_;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpRecvInitialMetadata, CallOpRecvMessage&lt;R&gt;</a>&gt; read_ops_;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpRecvInitialMetadata, CallOpClientRecvStatus&gt;</a> finish_ops_;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;};</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_writer_interface.html"> 152</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_writer_interface.html">ClientAsyncWriterInterface</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_client_async_streaming_interface.html">ClientAsyncStreamingInterface</a>,</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_async_writer_interface.html">AsyncWriterInterface</a>&lt;W&gt; {</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_writer_interface.html#a488d42d85f8e34902401e013572ff822">WritesDone</a>(<span class="keywordtype">void</span>* tag) = 0;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;};</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_writer.html">ClientAsyncWriter</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_client_async_writer_interface.html">ClientAsyncWriterInterface</a>&lt;W&gt; {</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_writer.html#a2ef3121a212b994228a8c8b192789e3d"> 165</a></span>&#160; <a class="code" href="classgrpc_1_1_client_async_writer.html#a2ef3121a212b994228a8c8b192789e3d">ClientAsyncWriter</a>(<a class="code" href="classgrpc_1_1_channel.html">Channel</a>* channel, <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq,</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keyword">const</span> <a class="code" href="classgrpc_1_1_rpc_method.html">RpcMethod</a>&amp; method, <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context,</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; R* response, <span class="keywordtype">void</span>* tag)</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; : context_(context), call_(channel-&gt;CreateCall(method, context, cq)) {</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; finish_ops_.RecvMessage(response);</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160;</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; init_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; init_ops_.SendInitialMetadata(context-&gt;send_initial_metadata_);</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;init_ops_);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;</div>
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_writer.html#a1db45c4f5817db4f770c08dab64916c7"> 176</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_writer.html#a1db45c4f5817db4f770c08dab64916c7">ReadInitialMetadata</a>(<span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; GPR_ASSERT(!context_-&gt;initial_metadata_received_);</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; meta_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; meta_ops_.RecvInitialMetadata(context_);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;meta_ops_);</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a"> 184</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a">Write</a>(<span class="keyword">const</span> W&amp; msg, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; write_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">// TODO(ctiller): don&#39;t assert</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; GPR_ASSERT(write_ops_.SendMessage(msg).ok());</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;write_ops_);</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;</div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_writer.html#af9fbf77049c3e5402913c0edeccf3d47"> 191</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_writer.html#af9fbf77049c3e5402913c0edeccf3d47">WritesDone</a>(<span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; writes_done_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; writes_done_ops_.ClientSendClose();</div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;writes_done_ops_);</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;</div>
<div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_writer.html#ad37af0a7fc27fc90e168fdb90eb52d8b"> 197</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_writer.html#ad37af0a7fc27fc90e168fdb90eb52d8b">Finish</a>(<a class="code" href="classgrpc_1_1_status.html">Status</a>* status, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; finish_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">if</span> (!context_-&gt;initial_metadata_received_) {</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; finish_ops_.RecvInitialMetadata(context_);</div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; finish_ops_.ClientRecvStatus(context_, status);</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;finish_ops_);</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160;</div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context_;</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <a class="code" href="classgrpc_1_1_call.html">Call</a> call_;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpSendInitialMetadata&gt;</a> init_ops_;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpRecvInitialMetadata&gt;</a> meta_ops_;</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpSendMessage&gt;</a> write_ops_;</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpClientSendClose&gt;</a> writes_done_ops_;</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet</a>&lt;<a class="code" href="classgrpc_1_1_call_op_recv_initial_metadata.html">CallOpRecvInitialMetadata</a>, <a class="code" href="classgrpc_1_1_call_op_generic_recv_message.html">CallOpGenericRecvMessage</a>,</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <a class="code" href="classgrpc_1_1_call_op_client_recv_status.html">CallOpClientRecvStatus</a>&gt; finish_ops_;</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;};</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;</div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W, <span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader_writer_interface.html"> 219</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_reader_writer_interface.html">ClientAsyncReaderWriterInterface</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_client_async_streaming_interface.html">ClientAsyncStreamingInterface</a>,</div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_async_writer_interface.html">AsyncWriterInterface</a>&lt;W&gt;,</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_async_reader_interface.html">AsyncReaderInterface</a>&lt;R&gt; {</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_reader_writer_interface.html#a878193880df68ab969b697f1fcd7dbc3">WritesDone</a>(<span class="keywordtype">void</span>* tag) = 0;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160;};</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W, <span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_reader_writer.html">ClientAsyncReaderWriter</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_client_async_reader_writer_interface.html">ClientAsyncReaderWriterInterface</a>&lt;W, R&gt; {</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader_writer.html#af7a334d85a878b6b7a962e9b659d3e3b"> 233</a></span>&#160; <a class="code" href="classgrpc_1_1_client_async_reader_writer.html#af7a334d85a878b6b7a962e9b659d3e3b">ClientAsyncReaderWriter</a>(<a class="code" href="classgrpc_1_1_channel.html">Channel</a>* channel, <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq,</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keyword">const</span> <a class="code" href="classgrpc_1_1_rpc_method.html">RpcMethod</a>&amp; method, <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context,</div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordtype">void</span>* tag)</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; : context_(context), call_(channel-&gt;CreateCall(method, context, cq)) {</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; init_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; init_ops_.SendInitialMetadata(context-&gt;send_initial_metadata_);</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;init_ops_);</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160;</div>
<div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader_writer.html#a69f0115acf443d7820adefc7b2a6f162"> 242</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_reader_writer.html#a69f0115acf443d7820adefc7b2a6f162">ReadInitialMetadata</a>(<span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; GPR_ASSERT(!context_-&gt;initial_metadata_received_);</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; meta_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; meta_ops_.RecvInitialMetadata(context_);</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;meta_ops_);</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f"> 250</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f">Read</a>(R* msg, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; read_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">if</span> (!context_-&gt;initial_metadata_received_) {</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; read_ops_.RecvInitialMetadata(context_);</div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; read_ops_.RecvMessage(msg);</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;read_ops_);</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3"> 259</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3">Write</a>(<span class="keyword">const</span> W&amp; msg, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; write_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="comment">// TODO(ctiller): don&#39;t assert</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; GPR_ASSERT(write_ops_.SendMessage(msg).ok());</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;write_ops_);</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;</div>
<div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader_writer.html#ae431aa00a64f2685b60ec853334e6637"> 266</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_reader_writer.html#ae431aa00a64f2685b60ec853334e6637">WritesDone</a>(<span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; writes_done_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; writes_done_ops_.ClientSendClose();</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;writes_done_ops_);</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160;</div>
<div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader_writer.html#a4316a3e8d1b4d148a695c8afa240ea23"> 272</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_client_async_reader_writer.html#a4316a3e8d1b4d148a695c8afa240ea23">Finish</a>(<a class="code" href="classgrpc_1_1_status.html">Status</a>* status, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; finish_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordflow">if</span> (!context_-&gt;initial_metadata_received_) {</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; finish_ops_.RecvInitialMetadata(context_);</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; finish_ops_.ClientRecvStatus(context_, status);</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;finish_ops_);</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context_;</div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="classgrpc_1_1_call.html">Call</a> call_;</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpSendInitialMetadata&gt;</a> init_ops_;</div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpRecvInitialMetadata&gt;</a> meta_ops_;</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpRecvInitialMetadata, CallOpRecvMessage&lt;R&gt;</a>&gt; read_ops_;</div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpSendMessage&gt;</a> write_ops_;</div>
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpClientSendClose&gt;</a> writes_done_ops_;</div>
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpRecvInitialMetadata, CallOpClientRecvStatus&gt;</a> finish_ops_;</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160;};</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W, <span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160;<span class="keyword">class </span>ServerAsyncReader <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> : <span class="keyword">public</span> ServerAsyncStreamingInterface,</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">public</span> AsyncReaderInterface&lt;R&gt; {</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader.html#a7f351e1d526b250336402ee03b8cc75e"> 296</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classgrpc_1_1_server_async_reader.html#a7f351e1d526b250336402ee03b8cc75e">ServerAsyncReader</a>(<a class="code" href="classgrpc_1_1_server_context.html">ServerContext</a>* ctx)</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160;</div>
<div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader.html#a5d05028563e789203225c0ba548710b6"> 299</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_reader.html#a5d05028563e789203225c0ba548710b6">SendInitialMetadata</a>(<span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; GPR_ASSERT(!ctx_-&gt;sent_initial_metadata_);</div>
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;</div>
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; meta_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; meta_ops_.SendInitialMetadata(ctx_-&gt;initial_metadata_);</div>
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; ctx_-&gt;sent_initial_metadata_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;meta_ops_);</div>
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;</div>
<div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader.html#ac60c1f8d5373644f952377096f1a5b2f"> 308</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_reader.html#ac60c1f8d5373644f952377096f1a5b2f">Read</a>(R* msg, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; read_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; read_ops_.RecvMessage(msg);</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;read_ops_);</div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; }</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader.html#aaa77b67709c07ab60bc190bce5ee9a59"> 314</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_reader.html#aaa77b67709c07ab60bc190bce5ee9a59">Finish</a>(<span class="keyword">const</span> W&amp; msg, <span class="keyword">const</span> <a class="code" href="classgrpc_1_1_status.html">Status</a>&amp; status, <span class="keywordtype">void</span>* tag) {</div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; finish_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">if</span> (!ctx_-&gt;sent_initial_metadata_) {</div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; finish_ops_.SendInitialMetadata(ctx_-&gt;initial_metadata_);</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; ctx_-&gt;sent_initial_metadata_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; }</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="comment">// The response is dropped if the status is not OK.</span></div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">if</span> (status.<a class="code" href="classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc">ok</a>()) {</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; finish_ops_.ServerSendStatus(ctx_-&gt;trailing_metadata_,</div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; finish_ops_.SendMessage(msg));</div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; finish_ops_.ServerSendStatus(ctx_-&gt;trailing_metadata_, status);</div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;finish_ops_);</div>
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; }</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;</div>
<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader.html#a4407f30ef2dbce2b650824536a6f76fb"> 330</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_reader.html#a4407f30ef2dbce2b650824536a6f76fb">FinishWithError</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_status.html">Status</a>&amp; status, <span class="keywordtype">void</span>* tag) {</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; GPR_ASSERT(!status.<a class="code" href="classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc">ok</a>());</div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; finish_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">if</span> (!ctx_-&gt;sent_initial_metadata_) {</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; finish_ops_.SendInitialMetadata(ctx_-&gt;initial_metadata_);</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; ctx_-&gt;sent_initial_metadata_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; }</div>
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; finish_ops_.ServerSendStatus(ctx_-&gt;trailing_metadata_, status);</div>
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;finish_ops_);</div>
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; }</div>
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160;</div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <span class="keywordtype">void</span> BindCall(<a class="code" href="classgrpc_1_1_call.html">Call</a>* call) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> { call_ = *call; }</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160;</div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; Call call_;</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; ServerContext* ctx_;</div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; CallOpSet&lt;CallOpSendInitialMetadata&gt; meta_ops_;</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; CallOpSet&lt;CallOpRecvMessage&lt;R&gt;&gt; read_ops_;</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; CallOpSet&lt;CallOpSendInitialMetadata, CallOpSendMessage,</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; CallOpServerSendStatus&gt; finish_ops_;</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160;};</div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;<span class="keyword">class </span>ServerAsyncWriter <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> : <span class="keyword">public</span> ServerAsyncStreamingInterface,</div>
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="keyword">public</span> AsyncWriterInterface&lt;W&gt; {</div>
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00356"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_writer.html#aa841b99fddf9ce347b9c617058f179f2"> 356</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classgrpc_1_1_server_async_writer.html#aa841b99fddf9ce347b9c617058f179f2">ServerAsyncWriter</a>(<a class="code" href="classgrpc_1_1_server_context.html">ServerContext</a>* ctx)</div>
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160;</div>
<div class="line"><a name="l00359"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_writer.html#ad3a6ab6a46639131770efd0149d04455"> 359</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_writer.html#ad3a6ab6a46639131770efd0149d04455">SendInitialMetadata</a>(<span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; GPR_ASSERT(!ctx_-&gt;sent_initial_metadata_);</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160;</div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; meta_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; meta_ops_.SendInitialMetadata(ctx_-&gt;initial_metadata_);</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; ctx_-&gt;sent_initial_metadata_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;meta_ops_);</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; }</div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160;</div>
<div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_writer.html#a7027a65f3d84ff275b130cf9a0f170f5"> 368</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_writer.html#a7027a65f3d84ff275b130cf9a0f170f5">Write</a>(<span class="keyword">const</span> W&amp; msg, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; write_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <span class="keywordflow">if</span> (!ctx_-&gt;sent_initial_metadata_) {</div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; write_ops_.SendInitialMetadata(ctx_-&gt;initial_metadata_);</div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; ctx_-&gt;sent_initial_metadata_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; }</div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="comment">// TODO(ctiller): don&#39;t assert</span></div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; GPR_ASSERT(write_ops_.SendMessage(msg).ok());</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;write_ops_);</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; }</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160;</div>
<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_writer.html#afbb050c198cbbc7f91f9f7fb8bf8c004"> 379</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_writer.html#afbb050c198cbbc7f91f9f7fb8bf8c004">Finish</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_status.html">Status</a>&amp; status, <span class="keywordtype">void</span>* tag) {</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; finish_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">if</span> (!ctx_-&gt;sent_initial_metadata_) {</div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; finish_ops_.SendInitialMetadata(ctx_-&gt;initial_metadata_);</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; ctx_-&gt;sent_initial_metadata_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; finish_ops_.ServerSendStatus(ctx_-&gt;trailing_metadata_, status);</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;finish_ops_);</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; }</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160;</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordtype">void</span> BindCall(<a class="code" href="classgrpc_1_1_call.html">Call</a>* call) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> { call_ = *call; }</div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; Call call_;</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; ServerContext* ctx_;</div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; CallOpSet&lt;CallOpSendInitialMetadata&gt; meta_ops_;</div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; CallOpSet&lt;CallOpSendInitialMetadata, CallOpSendMessage&gt; write_ops_;</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; CallOpSet&lt;CallOpSendInitialMetadata, CallOpServerSendStatus&gt; finish_ops_;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160;};</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160;</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W, <span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160;<span class="keyword">class </span>ServerAsyncReaderWriter <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> : <span class="keyword">public</span> ServerAsyncStreamingInterface,</div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <span class="keyword">public</span> AsyncWriterInterface&lt;W&gt;,</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keyword">public</span> AsyncReaderInterface&lt;R&gt; {</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader_writer.html#af2b106bee556273e61541950502237ef"> 405</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classgrpc_1_1_server_async_reader_writer.html#af2b106bee556273e61541950502237ef">ServerAsyncReaderWriter</a>(<a class="code" href="classgrpc_1_1_server_context.html">ServerContext</a>* ctx)</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160;</div>
<div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader_writer.html#ab40293c8bda8123b5c0e7a0455860533"> 408</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_reader_writer.html#ab40293c8bda8123b5c0e7a0455860533">SendInitialMetadata</a>(<span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; GPR_ASSERT(!ctx_-&gt;sent_initial_metadata_);</div>
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160;</div>
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; meta_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; meta_ops_.SendInitialMetadata(ctx_-&gt;initial_metadata_);</div>
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; ctx_-&gt;sent_initial_metadata_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;meta_ops_);</div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160;</div>
<div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a"> 417</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a">Read</a>(R* msg, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; read_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; read_ops_.RecvMessage(msg);</div>
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;read_ops_);</div>
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; }</div>
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;</div>
<div class="line"><a name="l00423"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35"> 423</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35">Write</a>(<span class="keyword">const</span> W&amp; msg, <span class="keywordtype">void</span>* tag) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> {</div>
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; write_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <span class="keywordflow">if</span> (!ctx_-&gt;sent_initial_metadata_) {</div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; write_ops_.SendInitialMetadata(ctx_-&gt;initial_metadata_);</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; ctx_-&gt;sent_initial_metadata_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; }</div>
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <span class="comment">// TODO(ctiller): don&#39;t assert</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; GPR_ASSERT(write_ops_.SendMessage(msg).ok());</div>
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;write_ops_);</div>
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; }</div>
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160;</div>
<div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader_writer.html#ae4daaf42b4077d171638e574a67418b5"> 434</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_server_async_reader_writer.html#ae4daaf42b4077d171638e574a67418b5">Finish</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_status.html">Status</a>&amp; status, <span class="keywordtype">void</span>* tag) {</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; finish_ops_.set_output_tag(tag);</div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">if</span> (!ctx_-&gt;sent_initial_metadata_) {</div>
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; finish_ops_.SendInitialMetadata(ctx_-&gt;initial_metadata_);</div>
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; ctx_-&gt;sent_initial_metadata_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; }</div>
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; finish_ops_.ServerSendStatus(ctx_-&gt;trailing_metadata_, status);</div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; call_.<a class="code" href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">PerformOps</a>(&amp;finish_ops_);</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; }</div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160;</div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00445"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_reader_writer.html#a8c3fa4c066981aae114e41c3f9340144"> 445</a></span>&#160; <span class="keyword">friend</span> class ::grpc::Server;</div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160;</div>
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordtype">void</span> BindCall(<a class="code" href="classgrpc_1_1_call.html">Call</a>* call) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a> { call_ = *call; }</div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;</div>
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <a class="code" href="classgrpc_1_1_call.html">Call</a> call_;</div>
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <a class="code" href="classgrpc_1_1_server_context.html">ServerContext</a>* ctx_;</div>
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpSendInitialMetadata&gt;</a> meta_ops_;</div>
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpRecvMessage&lt;R&gt;</a>&gt; read_ops_;</div>
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpSendInitialMetadata, CallOpSendMessage&gt;</a> write_ops_;</div>
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; <a class="code" href="classgrpc_1_1_call_op_set.html">CallOpSet&lt;CallOpSendInitialMetadata, CallOpServerSendStatus&gt;</a> finish_ops_;</div>
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160;};</div>
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160;</div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160;</div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160;<span class="preprocessor">#endif // GRPCXX_SUPPORT_ASYNC_STREAM_H</span></div>
<div class="ttc" id="classgrpc_1_1_client_async_streaming_interface_html"><div class="ttname"><a href="classgrpc_1_1_client_async_streaming_interface.html">grpc::ClientAsyncStreamingInterface</a></div><div class="ttdoc">Common interface for all client side asynchronous streaming. </div><div class="ttdef"><b>Definition:</b> async_stream.h:49</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_html"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer.html">grpc::ClientAsyncReaderWriter</a></div><div class="ttdef"><b>Definition:</b> channel.h:64</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_html_af7a334d85a878b6b7a962e9b659d3e3b"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer.html#af7a334d85a878b6b7a962e9b659d3e3b">grpc::ClientAsyncReaderWriter::ClientAsyncReaderWriter</a></div><div class="ttdeci">ClientAsyncReaderWriter(Channel *channel, CompletionQueue *cq, const RpcMethod &amp;method, ClientContext *context, void *tag)</div><div class="ttdef"><b>Definition:</b> async_stream.h:233</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_writer_html_a544f9e4c310b251bf3c7b84fd035d20a"><div class="ttname"><a href="classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a">grpc::ClientAsyncWriter::Write</a></div><div class="ttdeci">void Write(const W &amp;msg, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request the writing of msg with identifying tag tag. </div><div class="ttdef"><b>Definition:</b> async_stream.h:184</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_writer_html_a7d8d9d36449700c19cd08ecc608cb96a"><div class="ttname"><a href="classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a">grpc::ServerAsyncReaderWriter::Read</a></div><div class="ttdeci">void Read(R *msg, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Read a message of type R into msg. </div><div class="ttdef"><b>Definition:</b> async_stream.h:417</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_writer_html_af9fbf77049c3e5402913c0edeccf3d47"><div class="ttname"><a href="classgrpc_1_1_client_async_writer.html#af9fbf77049c3e5402913c0edeccf3d47">grpc::ClientAsyncWriter::WritesDone</a></div><div class="ttdeci">void WritesDone(void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Signal the client is done with the writes. </div><div class="ttdef"><b>Definition:</b> async_stream.h:191</div></div>
<div class="ttc" id="completion__queue_8h_html"><div class="ttname"><a href="completion__queue_8h.html">completion_queue.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_server_async_writer_html_ad3a6ab6a46639131770efd0149d04455"><div class="ttname"><a href="classgrpc_1_1_server_async_writer.html#ad3a6ab6a46639131770efd0149d04455">grpc::ServerAsyncWriter::SendInitialMetadata</a></div><div class="ttdeci">void SendInitialMetadata(void *tag) GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> async_stream.h:359</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_interface_html_a878193880df68ab969b697f1fcd7dbc3"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer_interface.html#a878193880df68ab969b697f1fcd7dbc3">grpc::ClientAsyncReaderWriterInterface::WritesDone</a></div><div class="ttdeci">virtual void WritesDone(void *tag)=0</div><div class="ttdoc">Signal the client is done with the writes. </div></div>
<div class="ttc" id="classgrpc_1_1_call_op_client_recv_status_html"><div class="ttname"><a href="classgrpc_1_1_call_op_client_recv_status.html">grpc::CallOpClientRecvStatus</a></div><div class="ttdef"><b>Definition:</b> call.h:426</div></div>
<div class="ttc" id="classgrpc_1_1_async_writer_interface_html_a40c1091ac5cb5243c874da725ae291b4"><div class="ttname"><a href="classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4">grpc::AsyncWriterInterface::Write</a></div><div class="ttdeci">virtual void Write(const W &amp;msg, void *tag)=0</div><div class="ttdoc">Request the writing of msg with identifying tag tag. </div></div>
<div class="ttc" id="classgrpc_1_1_server_async_writer_html_a7027a65f3d84ff275b130cf9a0f170f5"><div class="ttname"><a href="classgrpc_1_1_server_async_writer.html#a7027a65f3d84ff275b130cf9a0f170f5">grpc::ServerAsyncWriter::Write</a></div><div class="ttdeci">void Write(const W &amp;msg, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request the writing of msg with identifying tag tag. </div><div class="ttdef"><b>Definition:</b> async_stream.h:368</div></div>
<div class="ttc" id="config_8h_html_ab2216aa6e0ffe505e1ec362a9621a7f9"><div class="ttname"><a href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div><div class="ttdeci">#define GRPC_FINAL</div><div class="ttdef"><b>Definition:</b> config.h:71</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_html_ac3cb288c3bd9d1b826fd726bd2655be3"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3">grpc::ClientAsyncReaderWriter::Write</a></div><div class="ttdeci">void Write(const W &amp;msg, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request the writing of msg with identifying tag tag. </div><div class="ttdef"><b>Definition:</b> async_stream.h:259</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_html_ac60c1f8d5373644f952377096f1a5b2f"><div class="ttname"><a href="classgrpc_1_1_server_async_reader.html#ac60c1f8d5373644f952377096f1a5b2f">grpc::ServerAsyncReader::Read</a></div><div class="ttdeci">void Read(R *msg, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Read a message of type R into msg. </div><div class="ttdef"><b>Definition:</b> async_stream.h:308</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_writer_html_ab40293c8bda8123b5c0e7a0455860533"><div class="ttname"><a href="classgrpc_1_1_server_async_reader_writer.html#ab40293c8bda8123b5c0e7a0455860533">grpc::ServerAsyncReaderWriter::SendInitialMetadata</a></div><div class="ttdeci">void SendInitialMetadata(void *tag) GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> async_stream.h:408</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_writer_interface_html_a488d42d85f8e34902401e013572ff822"><div class="ttname"><a href="classgrpc_1_1_client_async_writer_interface.html#a488d42d85f8e34902401e013572ff822">grpc::ClientAsyncWriterInterface::WritesDone</a></div><div class="ttdeci">virtual void WritesDone(void *tag)=0</div><div class="ttdoc">Signal the client is done with the writes. </div></div>
<div class="ttc" id="classgrpc_1_1_client_context_html"><div class="ttname"><a href="classgrpc_1_1_client_context.html">grpc::ClientContext</a></div><div class="ttdef"><b>Definition:</b> client_context.h:149</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_html_a4407f30ef2dbce2b650824536a6f76fb"><div class="ttname"><a href="classgrpc_1_1_server_async_reader.html#a4407f30ef2dbce2b650824536a6f76fb">grpc::ServerAsyncReader::FinishWithError</a></div><div class="ttdeci">void FinishWithError(const Status &amp;status, void *tag)</div><div class="ttdef"><b>Definition:</b> async_stream.h:330</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_writer_html_ad0d2750db5e195d053e3361e1ff0df35"><div class="ttname"><a href="classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35">grpc::ServerAsyncReaderWriter::Write</a></div><div class="ttdeci">void Write(const W &amp;msg, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request the writing of msg with identifying tag tag. </div><div class="ttdef"><b>Definition:</b> async_stream.h:423</div></div>
<div class="ttc" id="channel_8h_html"><div class="ttname"><a href="channel_8h.html">channel.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_async_reader_interface_html_ac7845d2df90fb380008aadb7f5f2f379"><div class="ttname"><a href="classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379">grpc::AsyncReaderInterface::~AsyncReaderInterface</a></div><div class="ttdeci">virtual ~AsyncReaderInterface()</div><div class="ttdef"><b>Definition:</b> async_stream.h:70</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_interface_html"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_interface.html">grpc::ClientAsyncReaderInterface</a></div><div class="ttdef"><b>Definition:</b> async_stream.h:94</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_html_ae431aa00a64f2685b60ec853334e6637"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer.html#ae431aa00a64f2685b60ec853334e6637">grpc::ClientAsyncReaderWriter::WritesDone</a></div><div class="ttdeci">void WritesDone(void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Signal the client is done with the writes. </div><div class="ttdef"><b>Definition:</b> async_stream.h:266</div></div>
<div class="ttc" id="classgrpc_1_1_call_html"><div class="ttname"><a href="classgrpc_1_1_call.html">grpc::Call</a></div><div class="ttdef"><b>Definition:</b> call.h:560</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_interface_html"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer_interface.html">grpc::ClientAsyncReaderWriterInterface</a></div><div class="ttdoc">Client-side interface for asynchronous bi-directional streaming. </div><div class="ttdef"><b>Definition:</b> async_stream.h:219</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_writer_html_aa841b99fddf9ce347b9c617058f179f2"><div class="ttname"><a href="classgrpc_1_1_server_async_writer.html#aa841b99fddf9ce347b9c617058f179f2">grpc::ServerAsyncWriter::ServerAsyncWriter</a></div><div class="ttdeci">ServerAsyncWriter(ServerContext *ctx)</div><div class="ttdef"><b>Definition:</b> async_stream.h:356</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_html_a4316a3e8d1b4d148a695c8afa240ea23"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer.html#a4316a3e8d1b4d148a695c8afa240ea23">grpc::ClientAsyncReaderWriter::Finish</a></div><div class="ttdeci">void Finish(Status *status, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request notification completion. </div><div class="ttdef"><b>Definition:</b> async_stream.h:272</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_writer_html_a1db45c4f5817db4f770c08dab64916c7"><div class="ttname"><a href="classgrpc_1_1_client_async_writer.html#a1db45c4f5817db4f770c08dab64916c7">grpc::ClientAsyncWriter::ReadInitialMetadata</a></div><div class="ttdeci">void ReadInitialMetadata(void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request notification of the reading of the initial metadata. </div><div class="ttdef"><b>Definition:</b> async_stream.h:176</div></div>
<div class="ttc" id="classgrpc_1_1_async_writer_interface_html"><div class="ttname"><a href="classgrpc_1_1_async_writer_interface.html">grpc::AsyncWriterInterface</a></div><div class="ttdoc">An interface that can be fed a sequence of messages of type W. </div><div class="ttdef"><b>Definition:</b> async_stream.h:82</div></div>
<div class="ttc" id="call_8h_html"><div class="ttname"><a href="call_8h.html">call.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_client_async_writer_html"><div class="ttname"><a href="classgrpc_1_1_client_async_writer.html">grpc::ClientAsyncWriter</a></div><div class="ttdef"><b>Definition:</b> channel.h:62</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_set_html"><div class="ttname"><a href="classgrpc_1_1_call_op_set.html">grpc::CallOpSet</a></div><div class="ttdoc">Primary implementaiton of CallOpSetInterface. </div><div class="ttdef"><b>Definition:</b> call.h:502</div></div>
<div class="ttc" id="classgrpc_1_1_server_context_html"><div class="ttname"><a href="classgrpc_1_1_server_context.html">grpc::ServerContext</a></div><div class="ttdef"><b>Definition:</b> server_context.h:89</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_html_aaa77b67709c07ab60bc190bce5ee9a59"><div class="ttname"><a href="classgrpc_1_1_server_async_reader.html#aaa77b67709c07ab60bc190bce5ee9a59">grpc::ServerAsyncReader::Finish</a></div><div class="ttdeci">void Finish(const W &amp;msg, const Status &amp;status, void *tag)</div><div class="ttdef"><b>Definition:</b> async_stream.h:314</div></div>
<div class="ttc" id="classgrpc_1_1_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_completion_queue.html">grpc::CompletionQueue</a></div><div class="ttdoc">A thin wrapper around grpc_completion_queue (see / src/core/surface/completion_queue.h). </div><div class="ttdef"><b>Definition:</b> completion_queue.h:81</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_streaming_interface_html_a103c33e82dbf1715749886c4249f3f28"><div class="ttname"><a href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28">grpc::ClientAsyncStreamingInterface::~ClientAsyncStreamingInterface</a></div><div class="ttdeci">virtual ~ClientAsyncStreamingInterface()</div><div class="ttdef"><b>Definition:</b> async_stream.h:51</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_writer_html_ad37af0a7fc27fc90e168fdb90eb52d8b"><div class="ttname"><a href="classgrpc_1_1_client_async_writer.html#ad37af0a7fc27fc90e168fdb90eb52d8b">grpc::ClientAsyncWriter::Finish</a></div><div class="ttdeci">void Finish(Status *status, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request notification completion. </div><div class="ttdef"><b>Definition:</b> async_stream.h:197</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_writer_html_afbb050c198cbbc7f91f9f7fb8bf8c004"><div class="ttname"><a href="classgrpc_1_1_server_async_writer.html#afbb050c198cbbc7f91f9f7fb8bf8c004">grpc::ServerAsyncWriter::Finish</a></div><div class="ttdeci">void Finish(const Status &amp;status, void *tag)</div><div class="ttdef"><b>Definition:</b> async_stream.h:379</div></div>
<div class="ttc" id="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_client_async_streaming_interface_html_ad83bfe2febf4a6296b7d2646799b8174"><div class="ttname"><a href="classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174">grpc::ClientAsyncStreamingInterface::ReadInitialMetadata</a></div><div class="ttdeci">virtual void ReadInitialMetadata(void *tag)=0</div><div class="ttdoc">Request notification of the reading of the initial metadata. </div></div>
<div class="ttc" id="classgrpc_1_1_rpc_method_html"><div class="ttname"><a href="classgrpc_1_1_rpc_method.html">grpc::RpcMethod</a></div><div class="ttdef"><b>Definition:</b> rpc_method.h:43</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_html_acb7e350f4b6dcc7acdfdbb9d97c012bd"><div class="ttname"><a href="classgrpc_1_1_client_async_reader.html#acb7e350f4b6dcc7acdfdbb9d97c012bd">grpc::ClientAsyncReader::ClientAsyncReader</a></div><div class="ttdeci">ClientAsyncReader(Channel *channel, CompletionQueue *cq, const RpcMethod &amp;method, ClientContext *context, const W &amp;request, void *tag)</div><div class="ttdoc">Create a stream and write the first request out. </div><div class="ttdef"><b>Definition:</b> async_stream.h:102</div></div>
<div class="ttc" id="client__context_8h_html"><div class="ttname"><a href="client__context_8h.html">client_context.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_html_a91bfabf65e2dc955b6983bc0ece5a73f"><div class="ttname"><a href="classgrpc_1_1_client_async_reader.html#a91bfabf65e2dc955b6983bc0ece5a73f">grpc::ClientAsyncReader::Finish</a></div><div class="ttdeci">void Finish(Status *status, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request notification completion. </div><div class="ttdef"><b>Definition:</b> async_stream.h:131</div></div>
<div class="ttc" id="classgrpc_1_1_call_html_a78ca141a1008fbbb122ee4de076edcc4"><div class="ttname"><a href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">grpc::Call::PerformOps</a></div><div class="ttdeci">void PerformOps(CallOpSetInterface *ops)</div><div class="ttdef"><b>Definition:</b> call.cc:85</div></div>
<div class="ttc" id="classgrpc_1_1_status_html_a1f5b65c54d4e6dd502897e36040714dc"><div class="ttname"><a href="classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc">grpc::Status::ok</a></div><div class="ttdeci">bool ok() const </div><div class="ttdoc">Is the status OK? </div><div class="ttdef"><b>Definition:</b> status.h:67</div></div>
<div class="ttc" id="service__type_8h_html"><div class="ttname"><a href="service__type_8h.html">service_type.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_status_html"><div class="ttname"><a href="classgrpc_1_1_status.html">grpc::Status</a></div><div class="ttdoc">Did it work? If it didn&#39;t, why? </div><div class="ttdef"><b>Definition:</b> status.h:45</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_streaming_interface_html_afc1cfbd1514fea47088bc837bb578a24"><div class="ttname"><a href="classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24">grpc::ClientAsyncStreamingInterface::Finish</a></div><div class="ttdeci">virtual void Finish(Status *status, void *tag)=0</div><div class="ttdoc">Request notification completion. </div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_html_a5d05028563e789203225c0ba548710b6"><div class="ttname"><a href="classgrpc_1_1_server_async_reader.html#a5d05028563e789203225c0ba548710b6">grpc::ServerAsyncReader::SendInitialMetadata</a></div><div class="ttdeci">void SendInitialMetadata(void *tag) GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> async_stream.h:299</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_html_aaf9f76ba76be0a0144bbdf44d740731d"><div class="ttname"><a href="classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d">grpc::ClientAsyncReader::Read</a></div><div class="ttdeci">void Read(R *msg, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Read a message of type R into msg. </div><div class="ttdef"><b>Definition:</b> async_stream.h:122</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_html_a8b6a32ede877fc2d5d4cfc5b95ac163f"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f">grpc::ClientAsyncReaderWriter::Read</a></div><div class="ttdeci">void Read(R *msg, void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Read a message of type R into msg. </div><div class="ttdef"><b>Definition:</b> async_stream.h:250</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_writer_html_af2b106bee556273e61541950502237ef"><div class="ttname"><a href="classgrpc_1_1_server_async_reader_writer.html#af2b106bee556273e61541950502237ef">grpc::ServerAsyncReaderWriter::ServerAsyncReaderWriter</a></div><div class="ttdeci">ServerAsyncReaderWriter(ServerContext *ctx)</div><div class="ttdef"><b>Definition:</b> async_stream.h:405</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_html"><div class="ttname"><a href="classgrpc_1_1_client_async_reader.html">grpc::ClientAsyncReader</a></div><div class="ttdef"><b>Definition:</b> channel.h:60</div></div>
<div class="ttc" id="classgrpc_1_1_async_writer_interface_html_a94cc9e4ed13c8fe4a1d883d465477ddd"><div class="ttname"><a href="classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd">grpc::AsyncWriterInterface::~AsyncWriterInterface</a></div><div class="ttdeci">virtual ~AsyncWriterInterface()</div><div class="ttdef"><b>Definition:</b> async_stream.h:84</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_writer_html_ae4daaf42b4077d171638e574a67418b5"><div class="ttname"><a href="classgrpc_1_1_server_async_reader_writer.html#ae4daaf42b4077d171638e574a67418b5">grpc::ServerAsyncReaderWriter::Finish</a></div><div class="ttdeci">void Finish(const Status &amp;status, void *tag)</div><div class="ttdef"><b>Definition:</b> async_stream.h:434</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_writer_html_a2ef3121a212b994228a8c8b192789e3d"><div class="ttname"><a href="classgrpc_1_1_client_async_writer.html#a2ef3121a212b994228a8c8b192789e3d">grpc::ClientAsyncWriter::ClientAsyncWriter</a></div><div class="ttdeci">ClientAsyncWriter(Channel *channel, CompletionQueue *cq, const RpcMethod &amp;method, ClientContext *context, R *response, void *tag)</div><div class="ttdef"><b>Definition:</b> async_stream.h:165</div></div>
<div class="ttc" id="config_8h_html_a9a884d706be26697c9c892365a3402a9"><div class="ttname"><a href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></div><div class="ttdeci">#define GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> config.h:77</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_html_a69f0115acf443d7820adefc7b2a6f162"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer.html#a69f0115acf443d7820adefc7b2a6f162">grpc::ClientAsyncReaderWriter::ReadInitialMetadata</a></div><div class="ttdeci">void ReadInitialMetadata(void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request notification of the reading of the initial metadata. </div><div class="ttdef"><b>Definition:</b> async_stream.h:242</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_recv_initial_metadata_html"><div class="ttname"><a href="classgrpc_1_1_call_op_recv_initial_metadata.html">grpc::CallOpRecvInitialMetadata</a></div><div class="ttdef"><b>Definition:</b> call.h:396</div></div>
<div class="ttc" id="classgrpc_1_1_async_reader_interface_html_aa644cf63c12ae8c9d5fda16a361f8a11"><div class="ttname"><a href="classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11">grpc::AsyncReaderInterface::Read</a></div><div class="ttdeci">virtual void Read(R *msg, void *tag)=0</div><div class="ttdoc">Read a message of type R into msg. </div></div>
<div class="ttc" id="classgrpc_1_1_call_op_generic_recv_message_html"><div class="ttname"><a href="classgrpc_1_1_call_op_generic_recv_message.html">grpc::CallOpGenericRecvMessage</a></div><div class="ttdef"><b>Definition:</b> call.h:289</div></div>
<div class="ttc" id="server__context_8h_html"><div class="ttname"><a href="server__context_8h.html">server_context.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_server_async_reader_html_a7f351e1d526b250336402ee03b8cc75e"><div class="ttname"><a href="classgrpc_1_1_server_async_reader.html#a7f351e1d526b250336402ee03b8cc75e">grpc::ServerAsyncReader::ServerAsyncReader</a></div><div class="ttdeci">ServerAsyncReader(ServerContext *ctx)</div><div class="ttdef"><b>Definition:</b> async_stream.h:296</div></div>
<div class="ttc" id="classgrpc_1_1_async_reader_interface_html"><div class="ttname"><a href="classgrpc_1_1_async_reader_interface.html">grpc::AsyncReaderInterface</a></div><div class="ttdoc">An interface that yields a sequence of messages of type R. </div><div class="ttdef"><b>Definition:</b> async_stream.h:68</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html"><div class="ttname"><a href="classgrpc_1_1_channel.html">grpc::Channel</a></div><div class="ttdoc">Channels represent a connection to an endpoint. Created by CreateChannel. </div><div class="ttdef"><b>Definition:</b> channel.h:69</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_html_a0e5b71e2620dc95fe41305eef7ee7863"><div class="ttname"><a href="classgrpc_1_1_client_async_reader.html#a0e5b71e2620dc95fe41305eef7ee7863">grpc::ClientAsyncReader::ReadInitialMetadata</a></div><div class="ttdeci">void ReadInitialMetadata(void *tag) GRPC_OVERRIDE</div><div class="ttdoc">Request notification of the reading of the initial metadata. </div><div class="ttdef"><b>Definition:</b> async_stream.h:114</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_writer_interface_html"><div class="ttname"><a href="classgrpc_1_1_client_async_writer_interface.html">grpc::ClientAsyncWriterInterface</a></div><div class="ttdoc">Common interface for client side asynchronous writing. </div><div class="ttdef"><b>Definition:</b> async_stream.h:152</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/async_unary_call.h File Reference</title>
<title>GRPC C++: include/grpc++/support/async_unary_call.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_b3f05bce718e375cbe64ccd78910fb7d.html">support</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -92,14 +92,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">async_unary_call.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="channel__interface_8h_source.html">grpc++/channel_interface.h</a>&gt;</code><br/>
<div class="textblock"><code>#include &lt;grpc/support/log.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="channel_8h_source.html">grpc++/channel.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="client__context_8h_source.html">grpc++/client_context.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="completion__queue_8h_source.html">grpc++/completion_queue.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="server__context_8h_source.html">grpc++/server_context.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="call_8h_source.html">grpc++/impl/call.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="service__type_8h_source.html">grpc++/impl/service_type.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/status.h</a>&gt;</code><br/>
<code>#include &lt;grpc/support/log.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/support/status.h</a>&gt;</code><br/>
</div>
<p><a href="async__unary__call_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
@ -120,7 +120,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/async_unary_call.h Source File</title>
<title>GRPC C++: include/grpc++/support/async_unary_call.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_b3f05bce718e375cbe64ccd78910fb7d.html">support</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -122,17 +122,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_ASYNC_UNARY_CALL_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_ASYNC_UNARY_CALL_H</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_SUPPORT_ASYNC_UNARY_CALL_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_SUPPORT_ASYNC_UNARY_CALL_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="channel__interface_8h.html">grpc++/channel_interface.h</a>&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="client__context_8h.html">grpc++/client_context.h</a>&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="completion__queue_8h.html">grpc++/completion_queue.h</a>&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="server__context_8h.html">grpc++/server_context.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="call_8h.html">grpc++/impl/call.h</a>&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="service__type_8h.html">grpc++/impl/service_type.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="status_8h.html">grpc++/status.h</a>&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;grpc/support/log.h&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;grpc/support/log.h&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="channel_8h.html">grpc++/channel.h</a>&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="client__context_8h.html">grpc++/client_context.h</a>&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="completion__queue_8h.html">grpc++/completion_queue.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="server__context_8h.html">grpc++/server_context.h</a>&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="call_8h.html">grpc++/impl/call.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="service__type_8h.html">grpc++/impl/service_type.h</a>&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="status_8h.html">grpc++/support/status.h</a>&gt;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
@ -145,11 +145,11 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;};</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_response_reader.html"> 57</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_response_reader.html">ClientAsyncResponseReader</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_client_async_response_reader_interface.html">ClientAsyncResponseReaderInterface</a>&lt;R&gt; {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">class </span>ClientAsyncResponseReader <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; : <span class="keyword">public</span> ClientAsyncResponseReaderInterface&lt;R&gt; {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_response_reader.html#a4868e0f82053062c95fea7bd197acadf"> 61</a></span>&#160; <a class="code" href="classgrpc_1_1_client_async_response_reader.html#a4868e0f82053062c95fea7bd197acadf">ClientAsyncResponseReader</a>(<a class="code" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a>* channel, <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq,</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_response_reader.html#a83f7c9c6969cfb19880110231d7aaa48"> 61</a></span>&#160; <a class="code" href="classgrpc_1_1_client_async_response_reader.html#a83f7c9c6969cfb19880110231d7aaa48">ClientAsyncResponseReader</a>(<a class="code" href="classgrpc_1_1_channel.html">Channel</a>* channel, <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq,</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">const</span> <a class="code" href="classgrpc_1_1_rpc_method.html">RpcMethod</a>&amp; method, <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">const</span> W&amp; request)</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; : context_(context), call_(channel-&gt;CreateCall(method, context, cq)) {</div>
@ -189,8 +189,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;};</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_response_writer.html"> 101</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_server_async_response_writer.html">ServerAsyncResponseWriter</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_server_async_streaming_interface.html">ServerAsyncStreamingInterface</a> {</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;<span class="keyword">class </span>ServerAsyncResponseWriter <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; : <span class="keyword">public</span> ServerAsyncStreamingInterface {</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classgrpc_1_1_server_async_response_writer.html#a3c97a19ba6eaa0b9eef9b6b86dbad9e9"> 104</a></span>&#160; <span class="keyword">explicit</span> <a class="code" href="classgrpc_1_1_server_async_response_writer.html#a3c97a19ba6eaa0b9eef9b6b86dbad9e9">ServerAsyncResponseWriter</a>(<a class="code" href="classgrpc_1_1_server_context.html">ServerContext</a>* ctx)</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}</div>
@ -212,8 +212,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; }</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="comment">// The response is dropped if the status is not OK.</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (status.<a class="code" href="classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc">ok</a>()) {</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; finish_buf_.ServerSendStatus(</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; ctx_-&gt;trailing_metadata_, finish_buf_.SendMessage(msg));</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; finish_buf_.ServerSendStatus(ctx_-&gt;trailing_metadata_,</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; finish_buf_.SendMessage(msg));</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; finish_buf_.ServerSendStatus(ctx_-&gt;trailing_metadata_, status);</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div>
@ -243,49 +243,46 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor">#endif // GRPCXX_ASYNC_UNARY_CALL_H</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor">#endif // GRPCXX_SUPPORT_ASYNC_UNARY_CALL_H</span></div>
<div class="ttc" id="classgrpc_1_1_server_async_response_writer_html_af1e5812c2a8017bf82e84748f201ce93"><div class="ttname"><a href="classgrpc_1_1_server_async_response_writer.html#af1e5812c2a8017bf82e84748f201ce93">grpc::ServerAsyncResponseWriter::FinishWithError</a></div><div class="ttdeci">void FinishWithError(const Status &amp;status, void *tag)</div><div class="ttdef"><b>Definition:</b> async_unary_call.h:132</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_interface_html_aa97dc1ab6a7160a489d2e555102bf5a0"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader_interface.html#aa97dc1ab6a7160a489d2e555102bf5a0">grpc::ClientAsyncResponseReaderInterface::~ClientAsyncResponseReaderInterface</a></div><div class="ttdeci">virtual ~ClientAsyncResponseReaderInterface()</div><div class="ttdef"><b>Definition:</b> async_unary_call.h:51</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_interface_html_a379b1d7477431729e01cd48cf6fc78bb"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader_interface.html#a379b1d7477431729e01cd48cf6fc78bb">grpc::ClientAsyncResponseReaderInterface::Finish</a></div><div class="ttdeci">virtual void Finish(R *msg, Status *status, void *tag)=0</div></div>
<div class="ttc" id="completion__queue_8h_html"><div class="ttname"><a href="completion__queue_8h.html">completion_queue.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_server_async_response_writer_html_ad1e22d187c82a537ded4504fbdef6809"><div class="ttname"><a href="classgrpc_1_1_server_async_response_writer.html#ad1e22d187c82a537ded4504fbdef6809">grpc::ServerAsyncResponseWriter::Finish</a></div><div class="ttdeci">void Finish(const W &amp;msg, const Status &amp;status, void *tag)</div><div class="ttdef"><b>Definition:</b> async_unary_call.h:116</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_client_recv_status_html"><div class="ttname"><a href="classgrpc_1_1_call_op_client_recv_status.html">grpc::CallOpClientRecvStatus</a></div><div class="ttdef"><b>Definition:</b> call.h:431</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_streaming_interface_html"><div class="ttname"><a href="classgrpc_1_1_server_async_streaming_interface.html">grpc::ServerAsyncStreamingInterface</a></div><div class="ttdef"><b>Definition:</b> service_type.h:57</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_client_recv_status_html"><div class="ttname"><a href="classgrpc_1_1_call_op_client_recv_status.html">grpc::CallOpClientRecvStatus</a></div><div class="ttdef"><b>Definition:</b> call.h:426</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_response_writer_html_a76be68485a36629af40560aa1f1de0b7"><div class="ttname"><a href="classgrpc_1_1_server_async_response_writer.html#a76be68485a36629af40560aa1f1de0b7">grpc::ServerAsyncResponseWriter::SendInitialMetadata</a></div><div class="ttdeci">void SendInitialMetadata(void *tag) GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> async_unary_call.h:107</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_html_a585dc15817999f82a72120a783800830"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader.html#a585dc15817999f82a72120a783800830">grpc::ClientAsyncResponseReader::Finish</a></div><div class="ttdeci">void Finish(R *msg, Status *status, void *tag)</div><div class="ttdef"><b>Definition:</b> async_unary_call.h:80</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_interface_html_a676e3a03a61c49a82b630d85bbfd366c"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader_interface.html#a676e3a03a61c49a82b630d85bbfd366c">grpc::ClientAsyncResponseReaderInterface::ReadInitialMetadata</a></div><div class="ttdeci">virtual void ReadInitialMetadata(void *tag)=0</div></div>
<div class="ttc" id="channel__interface_8h_html"><div class="ttname"><a href="channel__interface_8h.html">channel_interface.h</a></div></div>
<div class="ttc" id="config_8h_html_ab2216aa6e0ffe505e1ec362a9621a7f9"><div class="ttname"><a href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div><div class="ttdeci">#define GRPC_FINAL</div><div class="ttdef"><b>Definition:</b> config.h:71</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_html"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader.html">grpc::ClientAsyncResponseReader</a></div><div class="ttdef"><b>Definition:</b> async_unary_call.h:57</div></div>
<div class="ttc" id="classgrpc_1_1_client_context_html"><div class="ttname"><a href="classgrpc_1_1_client_context.html">grpc::ClientContext</a></div><div class="ttdef"><b>Definition:</b> client_context.h:74</div></div>
<div class="ttc" id="classgrpc_1_1_client_context_html"><div class="ttname"><a href="classgrpc_1_1_client_context.html">grpc::ClientContext</a></div><div class="ttdef"><b>Definition:</b> client_context.h:149</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_html_a963aefc43f34c9182e265647bbcdb91b"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader.html#a963aefc43f34c9182e265647bbcdb91b">grpc::ClientAsyncResponseReader::ReadInitialMetadata</a></div><div class="ttdeci">void ReadInitialMetadata(void *tag)</div><div class="ttdef"><b>Definition:</b> async_unary_call.h:72</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_send_message_html"><div class="ttname"><a href="classgrpc_1_1_call_op_send_message.html">grpc::CallOpSendMessage</a></div><div class="ttdef"><b>Definition:</b> call.h:190</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_client_send_close_html"><div class="ttname"><a href="classgrpc_1_1_call_op_client_send_close.html">grpc::CallOpClientSendClose</a></div><div class="ttdef"><b>Definition:</b> call.h:341</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_send_message_html"><div class="ttname"><a href="classgrpc_1_1_call_op_send_message.html">grpc::CallOpSendMessage</a></div><div class="ttdef"><b>Definition:</b> call.h:179</div></div>
<div class="ttc" id="channel_8h_html"><div class="ttname"><a href="channel_8h.html">channel.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_call_op_client_send_close_html"><div class="ttname"><a href="classgrpc_1_1_call_op_client_send_close.html">grpc::CallOpClientSendClose</a></div><div class="ttdef"><b>Definition:</b> call.h:333</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_interface_html"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader_interface.html">grpc::ClientAsyncResponseReaderInterface</a></div><div class="ttdef"><b>Definition:</b> async_unary_call.h:49</div></div>
<div class="ttc" id="classgrpc_1_1_call_html"><div class="ttname"><a href="classgrpc_1_1_call.html">grpc::Call</a></div><div class="ttdef"><b>Definition:</b> call.h:565</div></div>
<div class="ttc" id="classgrpc_1_1_channel_interface_html"><div class="ttname"><a href="classgrpc_1_1_channel_interface.html">grpc::ChannelInterface</a></div><div class="ttdef"><b>Definition:</b> channel_interface.h:52</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_html_a83f7c9c6969cfb19880110231d7aaa48"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader.html#a83f7c9c6969cfb19880110231d7aaa48">grpc::ClientAsyncResponseReader::ClientAsyncResponseReader</a></div><div class="ttdeci">ClientAsyncResponseReader(Channel *channel, CompletionQueue *cq, const RpcMethod &amp;method, ClientContext *context, const W &amp;request)</div><div class="ttdef"><b>Definition:</b> async_unary_call.h:61</div></div>
<div class="ttc" id="classgrpc_1_1_call_html"><div class="ttname"><a href="classgrpc_1_1_call.html">grpc::Call</a></div><div class="ttdef"><b>Definition:</b> call.h:560</div></div>
<div class="ttc" id="call_8h_html"><div class="ttname"><a href="call_8h.html">call.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_call_op_set_html"><div class="ttname"><a href="classgrpc_1_1_call_op_set.html">grpc::CallOpSet</a></div><div class="ttdoc">Primary implementaiton of CallOpSetInterface. </div><div class="ttdef"><b>Definition:</b> call.h:506</div></div>
<div class="ttc" id="classgrpc_1_1_server_context_html"><div class="ttname"><a href="classgrpc_1_1_server_context.html">grpc::ServerContext</a></div><div class="ttdef"><b>Definition:</b> server_context.h:86</div></div>
<div class="ttc" id="classgrpc_1_1_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_completion_queue.html">grpc::CompletionQueue</a></div><div class="ttdef"><b>Definition:</b> completion_queue.h:87</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_html_a4868e0f82053062c95fea7bd197acadf"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader.html#a4868e0f82053062c95fea7bd197acadf">grpc::ClientAsyncResponseReader::ClientAsyncResponseReader</a></div><div class="ttdeci">ClientAsyncResponseReader(ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &amp;method, ClientContext *context, const W &amp;request)</div><div class="ttdef"><b>Definition:</b> async_unary_call.h:61</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_set_html"><div class="ttname"><a href="classgrpc_1_1_call_op_set.html">grpc::CallOpSet</a></div><div class="ttdoc">Primary implementaiton of CallOpSetInterface. </div><div class="ttdef"><b>Definition:</b> call.h:502</div></div>
<div class="ttc" id="classgrpc_1_1_server_context_html"><div class="ttname"><a href="classgrpc_1_1_server_context.html">grpc::ServerContext</a></div><div class="ttdef"><b>Definition:</b> server_context.h:89</div></div>
<div class="ttc" id="classgrpc_1_1_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_completion_queue.html">grpc::CompletionQueue</a></div><div class="ttdoc">A thin wrapper around grpc_completion_queue (see / src/core/surface/completion_queue.h). </div><div class="ttdef"><b>Definition:</b> completion_queue.h:81</div></div>
<div class="ttc" id="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_server_async_response_writer_html_a3c97a19ba6eaa0b9eef9b6b86dbad9e9"><div class="ttname"><a href="classgrpc_1_1_server_async_response_writer.html#a3c97a19ba6eaa0b9eef9b6b86dbad9e9">grpc::ServerAsyncResponseWriter::ServerAsyncResponseWriter</a></div><div class="ttdeci">ServerAsyncResponseWriter(ServerContext *ctx)</div><div class="ttdef"><b>Definition:</b> async_unary_call.h:104</div></div>
<div class="ttc" id="classgrpc_1_1_rpc_method_html"><div class="ttname"><a href="classgrpc_1_1_rpc_method.html">grpc::RpcMethod</a></div><div class="ttdef"><b>Definition:</b> rpc_method.h:39</div></div>
<div class="ttc" id="classgrpc_1_1_rpc_method_html"><div class="ttname"><a href="classgrpc_1_1_rpc_method.html">grpc::RpcMethod</a></div><div class="ttdef"><b>Definition:</b> rpc_method.h:43</div></div>
<div class="ttc" id="client__context_8h_html"><div class="ttname"><a href="client__context_8h.html">client_context.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_call_html_a78ca141a1008fbbb122ee4de076edcc4"><div class="ttname"><a href="classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4">grpc::Call::PerformOps</a></div><div class="ttdeci">void PerformOps(CallOpSetInterface *ops)</div><div class="ttdef"><b>Definition:</b> call.cc:85</div></div>
<div class="ttc" id="classgrpc_1_1_status_html_a1f5b65c54d4e6dd502897e36040714dc"><div class="ttname"><a href="classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc">grpc::Status::ok</a></div><div class="ttdeci">bool ok() const </div><div class="ttdef"><b>Definition:</b> status.h:55</div></div>
<div class="ttc" id="classgrpc_1_1_status_html_a1f5b65c54d4e6dd502897e36040714dc"><div class="ttname"><a href="classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc">grpc::Status::ok</a></div><div class="ttdeci">bool ok() const </div><div class="ttdoc">Is the status OK? </div><div class="ttdef"><b>Definition:</b> status.h:67</div></div>
<div class="ttc" id="service__type_8h_html"><div class="ttname"><a href="service__type_8h.html">service_type.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_status_html"><div class="ttname"><a href="classgrpc_1_1_status.html">grpc::Status</a></div><div class="ttdef"><b>Definition:</b> status.h:42</div></div>
<div class="ttc" id="classgrpc_1_1_server_async_response_writer_html"><div class="ttname"><a href="classgrpc_1_1_server_async_response_writer.html">grpc::ServerAsyncResponseWriter</a></div><div class="ttdef"><b>Definition:</b> async_unary_call.h:101</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_send_initial_metadata_html"><div class="ttname"><a href="classgrpc_1_1_call_op_send_initial_metadata.html">grpc::CallOpSendInitialMetadata</a></div><div class="ttdef"><b>Definition:</b> call.h:159</div></div>
<div class="ttc" id="classgrpc_1_1_sneaky_call_op_set_html"><div class="ttname"><a href="classgrpc_1_1_sneaky_call_op_set.html">grpc::SneakyCallOpSet</a></div><div class="ttdoc">A CallOpSet that does not post completions to the completion queue. </div><div class="ttdef"><b>Definition:</b> call.h:548</div></div>
<div class="ttc" id="classgrpc_1_1_status_html"><div class="ttname"><a href="classgrpc_1_1_status.html">grpc::Status</a></div><div class="ttdoc">Did it work? If it didn&#39;t, why? </div><div class="ttdef"><b>Definition:</b> status.h:45</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_send_initial_metadata_html"><div class="ttname"><a href="classgrpc_1_1_call_op_send_initial_metadata.html">grpc::CallOpSendInitialMetadata</a></div><div class="ttdef"><b>Definition:</b> call.h:147</div></div>
<div class="ttc" id="classgrpc_1_1_sneaky_call_op_set_html"><div class="ttname"><a href="classgrpc_1_1_sneaky_call_op_set.html">grpc::SneakyCallOpSet</a></div><div class="ttdoc">A CallOpSet that does not post completions to the completion queue. </div><div class="ttdef"><b>Definition:</b> call.h:544</div></div>
<div class="ttc" id="config_8h_html_a9a884d706be26697c9c892365a3402a9"><div class="ttname"><a href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></div><div class="ttdeci">#define GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> config.h:77</div></div>
<div class="ttc" id="server__context_8h_html"><div class="ttname"><a href="server__context_8h.html">server_context.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_channel_html"><div class="ttname"><a href="classgrpc_1_1_channel.html">grpc::Channel</a></div><div class="ttdoc">Channels represent a connection to an endpoint. Created by CreateChannel. </div><div class="ttdef"><b>Definition:</b> channel.h:69</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/auth_context.h File Reference</title>
<title>GRPC C++: include/grpc++/security/auth_context.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,37 +81,50 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_7d74774c8f3e0db94d40932630f431b6.html">security</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">auth_context.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;vector&gt;</code><br/>
<code>#include &lt;<a class="el" href="auth__property__iterator_8h_source.html">grpc++/auth_property_iterator.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/config.h</a>&gt;</code><br/>
<div class="textblock"><code>#include &lt;iterator&gt;</code><br/>
<code>#include &lt;vector&gt;</code><br/>
<code>#include &lt;grpc/grpc_security.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/support/config.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="string__ref_8h_source.html">grpc++/support/string_ref.h</a>&gt;</code><br/>
</div>
<p><a href="auth__context_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_property_iterator.html">grpc::AuthPropertyIterator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html">grpc::AuthContext</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class encapsulating the Authentication Information. <a href="classgrpc_1_1_auth_context.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacegrpc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc.html">grpc</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a3a61e9fd24c9d1cea5eaaabc58525d0e"><td class="memItemLeft" align="right" valign="top">typedef std::pair<br class="typebreak"/>
&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <br class="typebreak"/>
<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc.html#a3a61e9fd24c9d1cea5eaaabc58525d0e">grpc::AuthProperty</a></td></tr>
<tr class="separator:a3a61e9fd24c9d1cea5eaaabc58525d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/auth_context.h Source File</title>
<title>GRPC C++: include/grpc++/security/auth_context.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_7d74774c8f3e0db94d40932630f431b6.html">security</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -122,53 +122,113 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_AUTH_CONTEXT_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_AUTH_CONTEXT_H</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_SUPPORT_AUTH_CONTEXT_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_SUPPORT_AUTH_CONTEXT_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="auth__property__iterator_8h.html">grpc++/auth_property_iterator.h</a>&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">grpc++/config.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;iterator&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;grpc/grpc_security.h&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">grpc++/support/config.h</a>&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="string__ref_8h.html">grpc++/support/string_ref.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_context.html"> 44</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_auth_context.html">AuthContext</a> {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464"> 46</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464">~AuthContext</a>() {}</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">struct </span>grpc_auth_context;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">struct </span>grpc_auth_property;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">struct </span>grpc_auth_property_iterator;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// A peer identity, in general is one or more properties (in which case they</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// have the same name).</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">virtual</span> std::vector&lt;grpc::string&gt; <a class="code" href="classgrpc_1_1_auth_context.html#a94f653509ddd988ce8fd4f22746fead9">GetPeerIdentity</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">virtual</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> <a class="code" href="classgrpc_1_1_auth_context.html#ad7b2e589590246b953decd05cdaa4465">GetPeerIdentityPropertyName</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="namespacegrpc.html#a3a61e9fd24c9d1cea5eaaabc58525d0e"> 49</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_secure_auth_context.html">SecureAuthContext</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">typedef</span> std::pair&lt;grpc::string_ref, grpc::string_ref&gt; <a class="code" href="namespacegrpc.html#a3a61e9fd24c9d1cea5eaaabc58525d0e">AuthProperty</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">// Returns all the property values with the given name.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">virtual</span> std::vector&lt;grpc::string&gt; <a class="code" href="classgrpc_1_1_auth_context.html#ad34c79f4934c974aa9e77ca69eed82aa">FindPropertyValues</a>(</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; name) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">// Iteration over all the properties.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a> <a class="code" href="classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89">begin</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a> <a class="code" href="classgrpc_1_1_auth_context.html#a81d358b427e0f1096e148918cdeef991">end</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;};</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#endif // GRPCXX_AUTH_CONTEXT_H</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_property_iterator.html"> 53</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; : <span class="keyword">public</span> std::iterator&lt;std::input_iterator_tag, const AuthProperty&gt; {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classgrpc_1_1_auth_property_iterator.html#a91a3a2ce5085a948aac11d7371c13b49">~AuthPropertyIterator</a>();</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a>&amp; <a class="code" href="classgrpc_1_1_auth_property_iterator.html#aaf574384fc615dc281f8b6b43b2fa3f1">operator++</a>();</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a> <a class="code" href="classgrpc_1_1_auth_property_iterator.html#aaf574384fc615dc281f8b6b43b2fa3f1">operator++</a>(<span class="keywordtype">int</span>);</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classgrpc_1_1_auth_property_iterator.html#ab5ab6a2c9a4df2b02086513716553dee">operator==</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a>&amp; rhs) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classgrpc_1_1_auth_property_iterator.html#af3d2671fe70be36b2ed26a75874f2fc1">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a>&amp; rhs) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacegrpc.html#a3a61e9fd24c9d1cea5eaaabc58525d0e">AuthProperty</a> <a class="code" href="classgrpc_1_1_auth_property_iterator.html#a564f39b91f4168c6f660bbd3144f1f0e">operator*</a>();</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classgrpc_1_1_auth_property_iterator.html#a2885e02ba1b9caad818a1bcdf648d949">AuthPropertyIterator</a>();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classgrpc_1_1_auth_property_iterator.html#a2885e02ba1b9caad818a1bcdf648d949">AuthPropertyIterator</a>(<span class="keyword">const</span> grpc_auth_property* property,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">const</span> grpc_auth_property_iterator* iter);</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_property_iterator.html#a18a70918b1f73cdd22cb263845b78d6d"> 69</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgrpc_1_1_secure_auth_context.html">SecureAuthContext</a>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">const</span> grpc_auth_property* property_;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="comment">// The following items form a grpc_auth_property_iterator.</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">const</span> grpc_auth_context* ctx_;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordtype">size_t</span> index_;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* name_;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;};</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_context.html"> 81</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_auth_context.html">AuthContext</a> {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464"> 83</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464">~AuthContext</a>() {}</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classgrpc_1_1_auth_context.html#af1d6a5c7cd67694d1a485c4127eb63dc">IsPeerAuthenticated</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">virtual</span> std::vector&lt;grpc::string_ref&gt; <a class="code" href="classgrpc_1_1_auth_context.html#a56a84468c1c3814a185cb6a2a3badf99">GetPeerIdentity</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keyword">virtual</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> <a class="code" href="classgrpc_1_1_auth_context.html#ad7b2e589590246b953decd05cdaa4465">GetPeerIdentityPropertyName</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">virtual</span> std::vector&lt;grpc::string_ref&gt; <a class="code" href="classgrpc_1_1_auth_context.html#ac32b53377f8b7e44328f791f44bd6732">FindPropertyValues</a>(</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; name) <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a> <a class="code" href="classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89">begin</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a> <a class="code" href="classgrpc_1_1_auth_context.html#a81d358b427e0f1096e148918cdeef991">end</a>() <span class="keyword">const</span> = 0;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;</div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_context.html#aea2b8bbca62cd5dd959a7259b333937c"> 103</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">string</span> <a class="code" href="classgrpc_1_1_auth_context.html#aea2b8bbca62cd5dd959a7259b333937c">transport_security_type_property_name</a>() {</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">return</span> GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_context.html#a9930aeaa826dad849ddea192a2393df9"> 106</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">string</span> <a class="code" href="classgrpc_1_1_auth_context.html#a9930aeaa826dad849ddea192a2393df9">ssl_transport_security_type</a>() {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> GRPC_SSL_TRANSPORT_SECURITY_TYPE;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_context.html#a5c92f7ec00da2bf58de56a1b5983b296"> 109</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">string</span> <a class="code" href="classgrpc_1_1_auth_context.html#a5c92f7ec00da2bf58de56a1b5983b296">x509_cn_property_name</a>() { <span class="keywordflow">return</span> GRPC_X509_CN_PROPERTY_NAME; }</div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_context.html#ac78faedce700883d917c37990c1746de"> 110</a></span>&#160; <span class="keyword">static</span> <span class="keywordtype">string</span> <a class="code" href="classgrpc_1_1_auth_context.html#ac78faedce700883d917c37990c1746de">x509_san_property_name</a>() { <span class="keywordflow">return</span> GRPC_X509_SAN_PROPERTY_NAME; }</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="comment">// Mutation functions: should only be used by an AuthMetadataProcessor.</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_auth_context.html#add9dbb40b1a822f683a7ebad71e774f2">AddProperty</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; key,</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">const</span> <a class="code" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>&amp; value) = 0;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classgrpc_1_1_auth_context.html#a218158a0698137b9c5d6fff0c8054cc4">SetPeerIdentityPropertyName</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; name) = 0;</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;};</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor">#endif // GRPCXX_SUPPORT_AUTH_CONTEXT_H</span></div>
<div class="ttc" id="string__ref_8h_html"><div class="ttname"><a href="string__ref_8h.html">string_ref.h</a></div></div>
<div class="ttc" id="namespacegrpc_html_a3a61e9fd24c9d1cea5eaaabc58525d0e"><div class="ttname"><a href="namespacegrpc.html#a3a61e9fd24c9d1cea5eaaabc58525d0e">grpc::AuthProperty</a></div><div class="ttdeci">std::pair&lt; grpc::string_ref, grpc::string_ref &gt; AuthProperty</div><div class="ttdef"><b>Definition:</b> auth_context.h:49</div></div>
<div class="ttc" id="namespacegrpc_html_ab04a87625da3bf85cdaf5e7856b00203"><div class="ttname"><a href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a></div><div class="ttdeci">std::string string</div><div class="ttdef"><b>Definition:</b> config.h:112</div></div>
<div class="ttc" id="auth__property__iterator_8h_html"><div class="ttname"><a href="auth__property__iterator_8h.html">auth_property_iterator.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html"><div class="ttname"><a href="classgrpc_1_1_auth_context.html">grpc::AuthContext</a></div><div class="ttdef"><b>Definition:</b> auth_context.h:44</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a94f653509ddd988ce8fd4f22746fead9"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a94f653509ddd988ce8fd4f22746fead9">grpc::AuthContext::GetPeerIdentity</a></div><div class="ttdeci">virtual std::vector&lt; grpc::string &gt; GetPeerIdentity() const =0</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_af1d6a5c7cd67694d1a485c4127eb63dc"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#af1d6a5c7cd67694d1a485c4127eb63dc">grpc::AuthContext::IsPeerAuthenticated</a></div><div class="ttdeci">virtual bool IsPeerAuthenticated() const =0</div><div class="ttdoc">Returns true if the peer is authenticated. </div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a9930aeaa826dad849ddea192a2393df9"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a9930aeaa826dad849ddea192a2393df9">grpc::AuthContext::ssl_transport_security_type</a></div><div class="ttdeci">static string ssl_transport_security_type()</div><div class="ttdef"><b>Definition:</b> auth_context.h:106</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html"><div class="ttname"><a href="classgrpc_1_1_auth_context.html">grpc::AuthContext</a></div><div class="ttdoc">Class encapsulating the Authentication Information. </div><div class="ttdef"><b>Definition:</b> auth_context.h:81</div></div>
<div class="ttc" id="classgrpc_1_1_secure_auth_context_html"><div class="ttname"><a href="classgrpc_1_1_secure_auth_context.html">grpc::SecureAuthContext</a></div><div class="ttdef"><b>Definition:</b> secure_auth_context.h:43</div></div>
<div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a81d358b427e0f1096e148918cdeef991"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a81d358b427e0f1096e148918cdeef991">grpc::AuthContext::end</a></div><div class="ttdeci">virtual AuthPropertyIterator end() const =0</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_ad34c79f4934c974aa9e77ca69eed82aa"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#ad34c79f4934c974aa9e77ca69eed82aa">grpc::AuthContext::FindPropertyValues</a></div><div class="ttdeci">virtual std::vector&lt; grpc::string &gt; FindPropertyValues(const grpc::string &amp;name) const =0</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a4a4a9e18e05e1a06cf25b8a77edd8c89"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89">grpc::AuthContext::begin</a></div><div class="ttdeci">virtual AuthPropertyIterator begin() const =0</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a3784c5f4eeab56a8524da29981548464"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464">grpc::AuthContext::~AuthContext</a></div><div class="ttdeci">virtual ~AuthContext()</div><div class="ttdef"><b>Definition:</b> auth_context.h:46</div></div>
<div class="ttc" id="classgrpc_1_1_auth_property_iterator_html"><div class="ttname"><a href="classgrpc_1_1_auth_property_iterator.html">grpc::AuthPropertyIterator</a></div><div class="ttdef"><b>Definition:</b> auth_property_iterator.h:51</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a218158a0698137b9c5d6fff0c8054cc4"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a218158a0698137b9c5d6fff0c8054cc4">grpc::AuthContext::SetPeerIdentityPropertyName</a></div><div class="ttdeci">virtual bool SetPeerIdentityPropertyName(const grpc::string &amp;name)=0</div></div>
<div class="ttc" id="classgrpc_1_1_auth_property_iterator_html_a2885e02ba1b9caad818a1bcdf648d949"><div class="ttname"><a href="classgrpc_1_1_auth_property_iterator.html#a2885e02ba1b9caad818a1bcdf648d949">grpc::AuthPropertyIterator::AuthPropertyIterator</a></div><div class="ttdeci">AuthPropertyIterator()</div><div class="ttdef"><b>Definition:</b> auth_property_iterator.cc:40</div></div>
<div class="ttc" id="classgrpc_1_1_auth_property_iterator_html_aaf574384fc615dc281f8b6b43b2fa3f1"><div class="ttname"><a href="classgrpc_1_1_auth_property_iterator.html#aaf574384fc615dc281f8b6b43b2fa3f1">grpc::AuthPropertyIterator::operator++</a></div><div class="ttdeci">AuthPropertyIterator &amp; operator++()</div><div class="ttdef"><b>Definition:</b> auth_property_iterator.cc:52</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a4a4a9e18e05e1a06cf25b8a77edd8c89"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89">grpc::AuthContext::begin</a></div><div class="ttdeci">virtual AuthPropertyIterator begin() const =0</div><div class="ttdoc">Iteration over all the properties. </div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a5c92f7ec00da2bf58de56a1b5983b296"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a5c92f7ec00da2bf58de56a1b5983b296">grpc::AuthContext::x509_cn_property_name</a></div><div class="ttdeci">static string x509_cn_property_name()</div><div class="ttdef"><b>Definition:</b> auth_context.h:109</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_aea2b8bbca62cd5dd959a7259b333937c"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#aea2b8bbca62cd5dd959a7259b333937c">grpc::AuthContext::transport_security_type_property_name</a></div><div class="ttdeci">static string transport_security_type_property_name()</div><div class="ttdef"><b>Definition:</b> auth_context.h:103</div></div>
<div class="ttc" id="classgrpc_1_1_auth_property_iterator_html_af3d2671fe70be36b2ed26a75874f2fc1"><div class="ttname"><a href="classgrpc_1_1_auth_property_iterator.html#af3d2671fe70be36b2ed26a75874f2fc1">grpc::AuthPropertyIterator::operator!=</a></div><div class="ttdeci">bool operator!=(const AuthPropertyIterator &amp;rhs) const </div><div class="ttdef"><b>Definition:</b> auth_property_iterator.cc:75</div></div>
<div class="ttc" id="classgrpc_1_1_auth_property_iterator_html_a564f39b91f4168c6f660bbd3144f1f0e"><div class="ttname"><a href="classgrpc_1_1_auth_property_iterator.html#a564f39b91f4168c6f660bbd3144f1f0e">grpc::AuthPropertyIterator::operator*</a></div><div class="ttdeci">const AuthProperty operator*()</div><div class="ttdef"><b>Definition:</b> auth_property_iterator.cc:79</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a3784c5f4eeab56a8524da29981548464"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464">grpc::AuthContext::~AuthContext</a></div><div class="ttdeci">virtual ~AuthContext()</div><div class="ttdef"><b>Definition:</b> auth_context.h:83</div></div>
<div class="ttc" id="classgrpc_1_1_auth_property_iterator_html_ab5ab6a2c9a4df2b02086513716553dee"><div class="ttname"><a href="classgrpc_1_1_auth_property_iterator.html#ab5ab6a2c9a4df2b02086513716553dee">grpc::AuthPropertyIterator::operator==</a></div><div class="ttdeci">bool operator==(const AuthPropertyIterator &amp;rhs) const </div><div class="ttdef"><b>Definition:</b> auth_property_iterator.cc:67</div></div>
<div class="ttc" id="classgrpc_1_1string__ref_html"><div class="ttname"><a href="classgrpc_1_1string__ref.html">grpc::string_ref</a></div><div class="ttdoc">This class is a non owning reference to a string. </div><div class="ttdef"><b>Definition:</b> string_ref.h:52</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_ac78faedce700883d917c37990c1746de"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#ac78faedce700883d917c37990c1746de">grpc::AuthContext::x509_san_property_name</a></div><div class="ttdeci">static string x509_san_property_name()</div><div class="ttdef"><b>Definition:</b> auth_context.h:110</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_a56a84468c1c3814a185cb6a2a3badf99"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#a56a84468c1c3814a185cb6a2a3badf99">grpc::AuthContext::GetPeerIdentity</a></div><div class="ttdeci">virtual std::vector&lt; grpc::string_ref &gt; GetPeerIdentity() const =0</div><div class="ttdoc">A peer identity. </div></div>
<div class="ttc" id="classgrpc_1_1_auth_property_iterator_html"><div class="ttname"><a href="classgrpc_1_1_auth_property_iterator.html">grpc::AuthPropertyIterator</a></div><div class="ttdef"><b>Definition:</b> auth_context.h:53</div></div>
<div class="ttc" id="classgrpc_1_1_auth_property_iterator_html_a91a3a2ce5085a948aac11d7371c13b49"><div class="ttname"><a href="classgrpc_1_1_auth_property_iterator.html#a91a3a2ce5085a948aac11d7371c13b49">grpc::AuthPropertyIterator::~AuthPropertyIterator</a></div><div class="ttdeci">~AuthPropertyIterator()</div><div class="ttdef"><b>Definition:</b> auth_property_iterator.cc:50</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_ac32b53377f8b7e44328f791f44bd6732"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#ac32b53377f8b7e44328f791f44bd6732">grpc::AuthContext::FindPropertyValues</a></div><div class="ttdeci">virtual std::vector&lt; grpc::string_ref &gt; FindPropertyValues(const grpc::string &amp;name) const =0</div><div class="ttdoc">Returns all the property values with the given name. </div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_add9dbb40b1a822f683a7ebad71e774f2"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#add9dbb40b1a822f683a7ebad71e774f2">grpc::AuthContext::AddProperty</a></div><div class="ttdeci">virtual void AddProperty(const grpc::string &amp;key, const grpc::string_ref &amp;value)=0</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html_ad7b2e589590246b953decd05cdaa4465"><div class="ttname"><a href="classgrpc_1_1_auth_context.html#ad7b2e589590246b953decd05cdaa4465">grpc::AuthContext::GetPeerIdentityPropertyName</a></div><div class="ttdeci">virtual grpc::string GetPeerIdentityPropertyName() const =0</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/fixed_size_thread_pool.h File Reference</title>
<title>GRPC C++: include/grpc++/security/auth_metadata_processor.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_7d74774c8f3e0db94d40932630f431b6.html">security</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -89,21 +89,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">fixed_size_thread_pool.h File Reference</div> </div>
<div class="title">auth_metadata_processor.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/config.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="sync_8h_source.html">grpc++/impl/sync.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="thd_8h_source.html">grpc++/impl/thd.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="thread__pool__interface_8h_source.html">grpc++/thread_pool_interface.h</a>&gt;</code><br/>
<code>#include &lt;queue&gt;</code><br/>
<code>#include &lt;vector&gt;</code><br/>
<div class="textblock"><code>#include &lt;map&gt;</code><br/>
<code>#include &lt;<a class="el" href="auth__context_8h_source.html">grpc++/security/auth_context.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/support/status.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="string__ref_8h_source.html">grpc++/support/string_ref.h</a>&gt;</code><br/>
</div>
<p><a href="fixed__size__thread__pool_8h_source.html">Go to the source code of this file.</a></p>
<p><a href="auth__metadata__processor_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_fixed_size_thread_pool.html">grpc::FixedSizeThreadPool</a></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html">grpc::AuthMetadataProcessor</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@ -114,7 +112,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:06 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/dynamic_thread_pool.h Source File</title>
<title>GRPC C++: include/grpc++/security/auth_metadata_processor.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,15 +81,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_7d74774c8f3e0db94d40932630f431b6.html">security</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">dynamic_thread_pool.h</div> </div>
<div class="title">auth_metadata_processor.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="dynamic__thread__pool_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<a href="auth__metadata__processor_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright 2015, Google Inc.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * All rights reserved.</span></div>
@ -122,72 +122,62 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_DYNAMIC_THREAD_POOL_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_DYNAMIC_THREAD_POOL_H</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_AUTH_METADATA_PROCESSOR_H_</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_AUTH_METADATA_PROCESSOR_H_</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">grpc++/config.h</a>&gt;</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;map&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="sync_8h.html">grpc++/impl/sync.h</a>&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="thd_8h.html">grpc++/impl/thd.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="thread__pool__interface_8h.html">grpc++/thread_pool_interface.h</a>&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="auth__context_8h.html">grpc++/security/auth_context.h</a>&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="status_8h.html">grpc++/support/status.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="string__ref_8h.html">grpc++/support/string_ref.h</a>&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &lt;queue&gt;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classgrpc_1_1_dynamic_thread_pool.html"> 49</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_dynamic_thread_pool.html">DynamicThreadPool</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_thread_pool_interface.html">ThreadPoolInterface</a> {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classgrpc_1_1_dynamic_thread_pool.html#af4b6567a60ddfa8551dfbddab4cb7209">DynamicThreadPool</a>(<span class="keywordtype">int</span> reserve_threads);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classgrpc_1_1_dynamic_thread_pool.html#a9a81f1b15a357a8ca6cb3d7fef7a5456">~DynamicThreadPool</a>();</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_dynamic_thread_pool.html#aea1cdc7989a2d6ab8fb1906428dbea30">Add</a>(<span class="keyword">const</span> std::function&lt;<span class="keywordtype">void</span>()&gt;&amp; callback) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_metadata_processor.html"> 45</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_auth_metadata_processor.html">AuthMetadataProcessor</a> {</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_metadata_processor.html#a0c5846f57c862880f0f6db29577bb9e5"> 47</a></span>&#160; <span class="keyword">typedef</span> std::multimap&lt;grpc::string_ref, grpc::string_ref&gt; <a class="code" href="classgrpc_1_1_auth_metadata_processor.html#a0c5846f57c862880f0f6db29577bb9e5">InputMetadata</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53"> 48</a></span>&#160; <span class="keyword">typedef</span> std::multimap&lt;grpc::string, grpc::string_ref&gt; <a class="code" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">OutputMetadata</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_metadata_processor.html#ae64e2159109378600eb17f613ec4bbeb"> 50</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_auth_metadata_processor.html#ae64e2159109378600eb17f613ec4bbeb">~AuthMetadataProcessor</a>() {}</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// If this method returns true, the Process function will be scheduled in</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="comment">// a different thread from the one processing the call.</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classgrpc_1_1_auth_metadata_processor.html#a6cfe6ac34d5a25f14a5528462077243c"> 54</a></span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classgrpc_1_1_auth_metadata_processor.html#a6cfe6ac34d5a25f14a5528462077243c">IsBlocking</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">class </span>DynamicThread {</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; DynamicThread(<a class="code" href="classgrpc_1_1_dynamic_thread_pool.html">DynamicThreadPool</a> *pool);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; ~DynamicThread();</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classgrpc_1_1_dynamic_thread_pool.html">DynamicThreadPool</a> *pool_;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; std::unique_ptr&lt;grpc::thread&gt; thd_;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">void</span> ThreadFunc();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; };</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classgrpc_1_1mutex.html">grpc::mutex</a> mu_;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classgrpc_1_1condition__variable.html">grpc::condition_variable</a> cv_;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classgrpc_1_1condition__variable.html">grpc::condition_variable</a> shutdown_cv_;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">bool</span> shutdown_;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; std::queue&lt;std::function&lt;void()&gt;&gt; callbacks_;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">int</span> reserve_threads_;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordtype">int</span> nthreads_;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordtype">int</span> threads_waiting_;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; std::list&lt;DynamicThread*&gt; dead_threads_;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">void</span> ThreadFunc();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> ReapThreads(std::list&lt;DynamicThread*&gt;* tlist);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;};</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#endif // GRPCXX_DYNAMIC_THREAD_POOL_H</span></div>
<div class="ttc" id="classgrpc_1_1mutex_html"><div class="ttname"><a href="classgrpc_1_1mutex.html">grpc::mutex</a></div><div class="ttdef"><b>Definition:</b> sync_no_cxx11.h:45</div></div>
<div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div></div>
<div class="ttc" id="config_8h_html_ab2216aa6e0ffe505e1ec362a9621a7f9"><div class="ttname"><a href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div><div class="ttdeci">#define GRPC_FINAL</div><div class="ttdef"><b>Definition:</b> config.h:71</div></div>
<div class="ttc" id="classgrpc_1_1_thread_pool_interface_html"><div class="ttname"><a href="classgrpc_1_1_thread_pool_interface.html">grpc::ThreadPoolInterface</a></div><div class="ttdef"><b>Definition:</b> thread_pool_interface.h:42</div></div>
<div class="ttc" id="classgrpc_1_1_dynamic_thread_pool_html_af4b6567a60ddfa8551dfbddab4cb7209"><div class="ttname"><a href="classgrpc_1_1_dynamic_thread_pool.html#af4b6567a60ddfa8551dfbddab4cb7209">grpc::DynamicThreadPool::DynamicThreadPool</a></div><div class="ttdeci">DynamicThreadPool(int reserve_threads)</div></div>
<div class="ttc" id="classgrpc_1_1condition__variable_html"><div class="ttname"><a href="classgrpc_1_1condition__variable.html">grpc::condition_variable</a></div><div class="ttdef"><b>Definition:</b> sync_no_cxx11.h:84</div></div>
<div class="ttc" id="thread__pool__interface_8h_html"><div class="ttname"><a href="thread__pool__interface_8h.html">thread_pool_interface.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_dynamic_thread_pool_html_aea1cdc7989a2d6ab8fb1906428dbea30"><div class="ttname"><a href="classgrpc_1_1_dynamic_thread_pool.html#aea1cdc7989a2d6ab8fb1906428dbea30">grpc::DynamicThreadPool::Add</a></div><div class="ttdeci">void Add(const std::function&lt; void()&gt; &amp;callback) GRPC_OVERRIDE</div></div>
<div class="ttc" id="classgrpc_1_1_dynamic_thread_pool_html_a9a81f1b15a357a8ca6cb3d7fef7a5456"><div class="ttname"><a href="classgrpc_1_1_dynamic_thread_pool.html#a9a81f1b15a357a8ca6cb3d7fef7a5456">grpc::DynamicThreadPool::~DynamicThreadPool</a></div><div class="ttdeci">~DynamicThreadPool()</div></div>
<div class="ttc" id="sync_8h_html"><div class="ttname"><a href="sync_8h.html">sync.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_dynamic_thread_pool_html"><div class="ttname"><a href="classgrpc_1_1_dynamic_thread_pool.html">grpc::DynamicThreadPool</a></div><div class="ttdef"><b>Definition:</b> dynamic_thread_pool.h:49</div></div>
<div class="ttc" id="config_8h_html_a9a884d706be26697c9c892365a3402a9"><div class="ttname"><a href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></div><div class="ttdeci">#define GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> config.h:77</div></div>
<div class="ttc" id="thd_8h_html"><div class="ttname"><a href="thd_8h.html">thd.h</a></div></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// context is read/write: it contains the properties of the channel peer and</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">// it is the job of the Process method to augment it with properties derived</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="comment">// from the passed-in auth_metadata.</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="comment">// consumed_auth_metadata needs to be filled with metadata that has been</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// consumed by the processor and will be removed from the call.</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// response_metadata is the metadata that will be sent as part of the</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="comment">// response.</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="comment">// If the return value is not Status::OK, the rpc call will be aborted with</span></div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// the error code and error message sent back to the client.</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_status.html">Status</a> <a class="code" href="classgrpc_1_1_auth_metadata_processor.html#adc0db66aa261c59bd29f81c53f466303">Process</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_auth_metadata_processor.html#a0c5846f57c862880f0f6db29577bb9e5">InputMetadata</a>&amp; auth_metadata,</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classgrpc_1_1_auth_context.html">AuthContext</a>* context,</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">OutputMetadata</a>* consumed_auth_metadata,</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">OutputMetadata</a>* response_metadata) = 0;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;};</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;<span class="preprocessor">#endif // GRPCXX_AUTH_METADATA_PROCESSOR_H_</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="preprocessor"></span></div>
<div class="ttc" id="string__ref_8h_html"><div class="ttname"><a href="string__ref_8h.html">string_ref.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_auth_metadata_processor_html_a6cfe6ac34d5a25f14a5528462077243c"><div class="ttname"><a href="classgrpc_1_1_auth_metadata_processor.html#a6cfe6ac34d5a25f14a5528462077243c">grpc::AuthMetadataProcessor::IsBlocking</a></div><div class="ttdeci">virtual bool IsBlocking() const </div><div class="ttdef"><b>Definition:</b> auth_metadata_processor.h:54</div></div>
<div class="ttc" id="classgrpc_1_1_auth_context_html"><div class="ttname"><a href="classgrpc_1_1_auth_context.html">grpc::AuthContext</a></div><div class="ttdoc">Class encapsulating the Authentication Information. </div><div class="ttdef"><b>Definition:</b> auth_context.h:81</div></div>
<div class="ttc" id="classgrpc_1_1_auth_metadata_processor_html"><div class="ttname"><a href="classgrpc_1_1_auth_metadata_processor.html">grpc::AuthMetadataProcessor</a></div><div class="ttdef"><b>Definition:</b> auth_metadata_processor.h:45</div></div>
<div class="ttc" id="classgrpc_1_1_auth_metadata_processor_html_ae64e2159109378600eb17f613ec4bbeb"><div class="ttname"><a href="classgrpc_1_1_auth_metadata_processor.html#ae64e2159109378600eb17f613ec4bbeb">grpc::AuthMetadataProcessor::~AuthMetadataProcessor</a></div><div class="ttdeci">virtual ~AuthMetadataProcessor()</div><div class="ttdef"><b>Definition:</b> auth_metadata_processor.h:50</div></div>
<div class="ttc" id="auth__context_8h_html"><div class="ttname"><a href="auth__context_8h.html">auth_context.h</a></div></div>
<div class="ttc" id="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_auth_metadata_processor_html_adc0db66aa261c59bd29f81c53f466303"><div class="ttname"><a href="classgrpc_1_1_auth_metadata_processor.html#adc0db66aa261c59bd29f81c53f466303">grpc::AuthMetadataProcessor::Process</a></div><div class="ttdeci">virtual Status Process(const InputMetadata &amp;auth_metadata, AuthContext *context, OutputMetadata *consumed_auth_metadata, OutputMetadata *response_metadata)=0</div></div>
<div class="ttc" id="classgrpc_1_1_status_html"><div class="ttname"><a href="classgrpc_1_1_status.html">grpc::Status</a></div><div class="ttdoc">Did it work? If it didn&#39;t, why? </div><div class="ttdef"><b>Definition:</b> status.h:45</div></div>
<div class="ttc" id="classgrpc_1_1_auth_metadata_processor_html_ab66ac71de37c4aa115b6cb7a0b0d4f53"><div class="ttname"><a href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">grpc::AuthMetadataProcessor::OutputMetadata</a></div><div class="ttdeci">std::multimap&lt; grpc::string, grpc::string_ref &gt; OutputMetadata</div><div class="ttdef"><b>Definition:</b> auth_metadata_processor.h:48</div></div>
<div class="ttc" id="classgrpc_1_1_auth_metadata_processor_html_a0c5846f57c862880f0f6db29577bb9e5"><div class="ttname"><a href="classgrpc_1_1_auth_metadata_processor.html#a0c5846f57c862880f0f6db29577bb9e5">grpc::AuthMetadataProcessor::InputMetadata</a></div><div class="ttdeci">std::multimap&lt; grpc::string_ref, grpc::string_ref &gt; InputMetadata</div><div class="ttdef"><b>Definition:</b> auth_metadata_processor.h:47</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:06 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -91,7 +91,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">auth_property_iterator.cc File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="auth__property__iterator_8h_source.html">grpc++/auth_property_iterator.h</a>&gt;</code><br/>
<div class="textblock"><code>#include &lt;<a class="el" href="auth__context_8h_source.html">grpc++/security/auth_context.h</a>&gt;</code><br/>
<code>#include &lt;grpc/grpc_security.h&gt;</code><br/>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@ -102,7 +102,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;grpc/byte_buffer_reader.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="byte__buffer_8h_source.html">grpc++/byte_buffer.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="byte__buffer_8h_source.html">grpc++/support/byte_buffer.h</a>&gt;</code><br/>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
@ -102,7 +102,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/byte_buffer.h File Reference</title>
<title>GRPC C++: include/grpc++/support/byte_buffer.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_b3f05bce718e375cbe64ccd78910fb7d.html">support</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -95,10 +95,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="textblock"><code>#include &lt;grpc/grpc.h&gt;</code><br/>
<code>#include &lt;grpc/byte_buffer.h&gt;</code><br/>
<code>#include &lt;grpc/support/log.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/config.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="slice_8h_source.html">grpc++/slice.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/status.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="serialization__traits_8h_source.html">grpc++/impl/serialization_traits.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/support/config.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="slice_8h_source.html">grpc++/support/slice.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/support/status.h</a>&gt;</code><br/>
<code>#include &lt;vector&gt;</code><br/>
</div>
<p><a href="byte__buffer_8h_source.html">Go to the source code of this file.</a></p>
@ -106,6 +106,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html">grpc::ByteBuffer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A sequence of bytes. <a href="classgrpc_1_1_byte_buffer.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html">grpc::SerializationTraits&lt; ByteBuffer, void &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -118,7 +119,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/byte_buffer.h Source File</title>
<title>GRPC C++: include/grpc++/support/byte_buffer.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_b3f05bce718e375cbe64ccd78910fb7d.html">support</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -122,98 +122,96 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_BYTE_BUFFER_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_BYTE_BUFFER_H</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_SUPPORT_BYTE_BUFFER_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_SUPPORT_BYTE_BUFFER_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;grpc/grpc.h&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;grpc/byte_buffer.h&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;grpc/support/log.h&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">grpc++/config.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slice_8h.html">grpc++/slice.h</a>&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="status_8h.html">grpc++/status.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="serialization__traits_8h.html">grpc++/impl/serialization_traits.h</a>&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="serialization__traits_8h.html">grpc++/impl/serialization_traits.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">grpc++/support/config.h</a>&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="slice_8h.html">grpc++/support/slice.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="status_8h.html">grpc++/support/status.h</a>&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classgrpc_1_1_byte_buffer.html"> 49</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> {</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b"> 51</a></span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">ByteBuffer</a>() : buffer_(nullptr) {}</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">ByteBuffer</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_slice.html">Slice</a>* slices, <span class="keywordtype">size_t</span> nslices);</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classgrpc_1_1_byte_buffer.html"> 50</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> {</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b"> 53</a></span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">ByteBuffer</a>() : buffer_(nullptr) {}</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a"> 55</a></span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a">~ByteBuffer</a>() {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">if</span> (buffer_) {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; grpc_byte_buffer_destroy(buffer_);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">ByteBuffer</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_slice.html">Slice</a>* slices, <span class="keywordtype">size_t</span> nslices);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a">~ByteBuffer</a>();</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_byte_buffer.html#a1b284d25c0c3c594c386800c548048f1">Dump</a>(std::vector&lt;Slice&gt;* slices) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80">Clear</a>();</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classgrpc_1_1_byte_buffer.html#a9429e928982f8d94ff93a1a91032ad59">Length</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80">Clear</a>();</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classgrpc_1_1_byte_buffer.html#ab90fe50537dd6fe009b7b913652420f0"> 67</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgrpc_1_1_serialization_traits.html">SerializationTraits</a>&lt;<a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>, void&gt;;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">size_t</span> <a class="code" href="classgrpc_1_1_byte_buffer.html#a9429e928982f8d94ff93a1a91032ad59">Length</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">ByteBuffer</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>&amp;);</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>&amp;);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classgrpc_1_1_byte_buffer.html#ab90fe50537dd6fe009b7b913652420f0"> 70</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgrpc_1_1_serialization_traits.html">SerializationTraits</a>&lt;<a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>, void&gt;;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">// takes ownership</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordtype">void</span> set_buffer(grpc_byte_buffer* buf) {</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">if</span> (buffer_) {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; gpr_log(GPR_ERROR, <span class="stringliteral">&quot;Overriding existing buffer&quot;</span>);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80">Clear</a>();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; }</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; buffer_ = buf;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; grpc_byte_buffer* buffer()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> buffer_; }</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; grpc_byte_buffer* buffer_;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;};</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html"> 87</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_serialization_traits.html">SerializationTraits</a>&lt;<a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>, void&gt; {</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5"> 89</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classgrpc_1_1_status.html">Status</a> <a class="code" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5">Deserialize</a>(grpc_byte_buffer* byte_buffer, <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>* dest,</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordtype">int</span> max_message_size) {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; dest-&gt;set_buffer(byte_buffer);</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classgrpc_1_1_status.html#a52ef6235ab76c5328a50f84a058da2c3">Status::OK</a>;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; }</div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33"> 94</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classgrpc_1_1_status.html">Status</a> <a class="code" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33">Serialize</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>&amp; source, grpc_byte_buffer** buffer, </div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">bool</span>* own_buffer) {</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; *buffer = source.buffer();</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; *own_buffer = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classgrpc_1_1_status.html#a52ef6235ab76c5328a50f84a058da2c3">Status::OK</a>;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160;};</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor">#endif // GRPCXX_BYTE_BUFFER_H</span></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_a185b593e5c7d2b888fa377989a6bae80"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80">grpc::ByteBuffer::Clear</a></div><div class="ttdeci">void Clear()</div><div class="ttdef"><b>Definition:</b> byte_buffer.cc:48</div></div>
<div class="ttc" id="classgrpc_1_1_status_html_a52ef6235ab76c5328a50f84a058da2c3"><div class="ttname"><a href="classgrpc_1_1_status.html#a52ef6235ab76c5328a50f84a058da2c3">grpc::Status::OK</a></div><div class="ttdeci">static const Status &amp; OK</div><div class="ttdef"><b>Definition:</b> status.h:49</div></div>
<div class="ttc" id="classgrpc_1_1_slice_html"><div class="ttname"><a href="classgrpc_1_1_slice.html">grpc::Slice</a></div><div class="ttdef"><b>Definition:</b> slice.h:42</div></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">ByteBuffer</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>&amp;);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>&amp;);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// takes ownership</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">void</span> set_buffer(grpc_byte_buffer* buf) {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span> (buffer_) {</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; gpr_log(GPR_ERROR, <span class="stringliteral">&quot;Overriding existing buffer&quot;</span>);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80">Clear</a>();</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; buffer_ = buf;</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">// For \a SerializationTraits&#39;s usage.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; grpc_byte_buffer* buffer()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> buffer_; }</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; grpc_byte_buffer* buffer_;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;};</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;<span class="keyword">template</span> &lt;&gt;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html"> 91</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_serialization_traits.html">SerializationTraits</a>&lt;<a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>, void&gt; {</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5"> 93</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classgrpc_1_1_status.html">Status</a> <a class="code" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5">Deserialize</a>(grpc_byte_buffer* byte_buffer, <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>* dest,</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordtype">int</span> max_message_size) {</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; dest-&gt;set_buffer(byte_buffer);</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classgrpc_1_1_status.html#a52ef6235ab76c5328a50f84a058da2c3">Status::OK</a>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33"> 98</a></span>&#160; <span class="keyword">static</span> <a class="code" href="classgrpc_1_1_status.html">Status</a> <a class="code" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33">Serialize</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a>&amp; source, grpc_byte_buffer** buffer,</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordtype">bool</span>* own_buffer) {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; *buffer = source.buffer();</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; *own_buffer = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classgrpc_1_1_status.html#a52ef6235ab76c5328a50f84a058da2c3">Status::OK</a>;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;};</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160;<span class="preprocessor">#endif // GRPCXX_SUPPORT_BYTE_BUFFER_H</span></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_a185b593e5c7d2b888fa377989a6bae80"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80">grpc::ByteBuffer::Clear</a></div><div class="ttdeci">void Clear()</div><div class="ttdoc">Remove all data. </div><div class="ttdef"><b>Definition:</b> byte_buffer.cc:54</div></div>
<div class="ttc" id="classgrpc_1_1_status_html_a52ef6235ab76c5328a50f84a058da2c3"><div class="ttname"><a href="classgrpc_1_1_status.html#a52ef6235ab76c5328a50f84a058da2c3">grpc::Status::OK</a></div><div class="ttdeci">static const Status &amp; OK</div><div class="ttdoc">An OK pre-defined instance. </div><div class="ttdef"><b>Definition:</b> status.h:57</div></div>
<div class="ttc" id="classgrpc_1_1_slice_html"><div class="ttname"><a href="classgrpc_1_1_slice.html">grpc::Slice</a></div><div class="ttdoc">A wrapper around grpc_slice. </div><div class="ttdef"><b>Definition:</b> slice.h:47</div></div>
<div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div></div>
<div class="ttc" id="serialization__traits_8h_html"><div class="ttname"><a href="serialization__traits_8h.html">serialization_traits.h</a></div></div>
<div class="ttc" id="config_8h_html_ab2216aa6e0ffe505e1ec362a9621a7f9"><div class="ttname"><a href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div><div class="ttdeci">#define GRPC_FINAL</div><div class="ttdef"><b>Definition:</b> config.h:71</div></div>
<div class="ttc" id="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4_html_ab84ad3da236c61aab17db403b48367f5"><div class="ttname"><a href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5">grpc::SerializationTraits&lt; ByteBuffer, void &gt;::Deserialize</a></div><div class="ttdeci">static Status Deserialize(grpc_byte_buffer *byte_buffer, ByteBuffer *dest, int max_message_size)</div><div class="ttdef"><b>Definition:</b> byte_buffer.h:89</div></div>
<div class="ttc" id="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4_html_ab84ad3da236c61aab17db403b48367f5"><div class="ttname"><a href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5">grpc::SerializationTraits&lt; ByteBuffer, void &gt;::Deserialize</a></div><div class="ttdeci">static Status Deserialize(grpc_byte_buffer *byte_buffer, ByteBuffer *dest, int max_message_size)</div><div class="ttdef"><b>Definition:</b> byte_buffer.h:93</div></div>
<div class="ttc" id="classgrpc_1_1_serialization_traits_html"><div class="ttname"><a href="classgrpc_1_1_serialization_traits.html">grpc::SerializationTraits</a></div><div class="ttdoc">Defines how to serialize and deserialize some type. </div><div class="ttdef"><b>Definition:</b> serialization_traits.h:64</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_a9429e928982f8d94ff93a1a91032ad59"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#a9429e928982f8d94ff93a1a91032ad59">grpc::ByteBuffer::Length</a></div><div class="ttdeci">size_t Length() const </div><div class="ttdef"><b>Definition:</b> byte_buffer.cc:68</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_a1b284d25c0c3c594c386800c548048f1"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#a1b284d25c0c3c594c386800c548048f1">grpc::ByteBuffer::Dump</a></div><div class="ttdeci">void Dump(std::vector&lt; Slice &gt; *slices) const </div><div class="ttdef"><b>Definition:</b> byte_buffer.cc:55</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_a9429e928982f8d94ff93a1a91032ad59"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#a9429e928982f8d94ff93a1a91032ad59">grpc::ByteBuffer::Length</a></div><div class="ttdeci">size_t Length() const </div><div class="ttdoc">Buffer size in bytes. </div><div class="ttdef"><b>Definition:</b> byte_buffer.cc:74</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_a1b284d25c0c3c594c386800c548048f1"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#a1b284d25c0c3c594c386800c548048f1">grpc::ByteBuffer::Dump</a></div><div class="ttdeci">void Dump(std::vector&lt; Slice &gt; *slices) const </div><div class="ttdoc">Dump (read) the buffer contents into slices. </div><div class="ttdef"><b>Definition:</b> byte_buffer.cc:61</div></div>
<div class="ttc" id="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
<div class="ttc" id="slice_8h_html"><div class="ttname"><a href="slice_8h.html">slice.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_status_html"><div class="ttname"><a href="classgrpc_1_1_status.html">grpc::Status</a></div><div class="ttdef"><b>Definition:</b> status.h:42</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_aeb5dd0045ed262de06481465326bd64a"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a">grpc::ByteBuffer::~ByteBuffer</a></div><div class="ttdeci">~ByteBuffer()</div><div class="ttdef"><b>Definition:</b> byte_buffer.h:55</div></div>
<div class="ttc" id="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4_html_a142e6455c0e040332f57bd3a35eebd33"><div class="ttname"><a href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33">grpc::SerializationTraits&lt; ByteBuffer, void &gt;::Serialize</a></div><div class="ttdeci">static Status Serialize(const ByteBuffer &amp;source, grpc_byte_buffer **buffer, bool *own_buffer)</div><div class="ttdef"><b>Definition:</b> byte_buffer.h:94</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_aa3037355cbd37dce99c97e5c3700a76b"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">grpc::ByteBuffer::ByteBuffer</a></div><div class="ttdeci">ByteBuffer()</div><div class="ttdef"><b>Definition:</b> byte_buffer.h:51</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html">grpc::ByteBuffer</a></div><div class="ttdef"><b>Definition:</b> byte_buffer.h:49</div></div>
<div class="ttc" id="classgrpc_1_1_status_html"><div class="ttname"><a href="classgrpc_1_1_status.html">grpc::Status</a></div><div class="ttdoc">Did it work? If it didn&#39;t, why? </div><div class="ttdef"><b>Definition:</b> status.h:45</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_aeb5dd0045ed262de06481465326bd64a"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a">grpc::ByteBuffer::~ByteBuffer</a></div><div class="ttdeci">~ByteBuffer()</div><div class="ttdef"><b>Definition:</b> byte_buffer.cc:48</div></div>
<div class="ttc" id="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4_html_a142e6455c0e040332f57bd3a35eebd33"><div class="ttname"><a href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33">grpc::SerializationTraits&lt; ByteBuffer, void &gt;::Serialize</a></div><div class="ttdeci">static Status Serialize(const ByteBuffer &amp;source, grpc_byte_buffer **buffer, bool *own_buffer)</div><div class="ttdef"><b>Definition:</b> byte_buffer.h:98</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html_aa3037355cbd37dce99c97e5c3700a76b"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">grpc::ByteBuffer::ByteBuffer</a></div><div class="ttdeci">ByteBuffer()</div><div class="ttdoc">Constuct an empty buffer. </div><div class="ttdef"><b>Definition:</b> byte_buffer.h:53</div></div>
<div class="ttc" id="classgrpc_1_1_byte_buffer_html"><div class="ttname"><a href="classgrpc_1_1_byte_buffer.html">grpc::ByteBuffer</a></div><div class="ttdoc">A sequence of bytes. </div><div class="ttdef"><b>Definition:</b> byte_buffer.h:50</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,9 +94,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="call_8h_source.html">grpc++/impl/call.h</a>&gt;</code><br/>
<code>#include &lt;grpc/support/alloc.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="byte__buffer_8h_source.html">grpc++/byte_buffer.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="channel_8h_source.html">grpc++/channel.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="client__context_8h_source.html">grpc++/client_context.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="channel__interface_8h_source.html">grpc++/channel_interface.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="byte__buffer_8h_source.html">grpc++/support/byte_buffer.h</a>&gt;</code><br/>
<code>#include &quot;src/core/profiling/timers.h&quot;</code><br/>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@ -106,15 +106,15 @@ Namespaces</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a00d2939a7b40a674459016f6148f372d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc.html#a00d2939a7b40a674459016f6148f372d">grpc::FillMetadataMap</a> (grpc_metadata_array *arr, std::multimap&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt; *metadata)</td></tr>
<tr class="separator:a00d2939a7b40a674459016f6148f372d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d7e54df68b2ece8af68cdd148df8e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc.html#a86d7e54df68b2ece8af68cdd148df8e7">grpc::FillMetadataMap</a> (grpc_metadata_array *arr, std::multimap&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt; *metadata)</td></tr>
<tr class="separator:a86d7e54df68b2ece8af68cdd148df8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a431c01f228527dd6ff54632632b36af6"><td class="memItemLeft" align="right" valign="top">grpc_metadata *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc.html#a431c01f228527dd6ff54632632b36af6">grpc::FillMetadataArray</a> (const std::multimap&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt; &amp;metadata)</td></tr>
<tr class="separator:a431c01f228527dd6ff54632632b36af6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -93,16 +93,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">call.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;grpc/support/alloc.h&gt;</code><br/>
<div class="textblock"><code>#include &lt;functional&gt;</code><br/>
<code>#include &lt;memory&gt;</code><br/>
<code>#include &lt;map&gt;</code><br/>
<code>#include &lt;cstring&gt;</code><br/>
<code>#include &lt;grpc/support/alloc.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="client__context_8h_source.html">grpc++/client_context.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="completion__queue_8h_source.html">grpc++/completion_queue.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/config.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/status.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="serialization__traits_8h_source.html">grpc++/impl/serialization_traits.h</a>&gt;</code><br/>
<code>#include &lt;functional&gt;</code><br/>
<code>#include &lt;memory&gt;</code><br/>
<code>#include &lt;map&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/support/config.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/support/status.h</a>&gt;</code><br/>
</div>
<p><a href="call_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
@ -135,7 +135,7 @@ Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_call_op_client_recv_status.html">grpc::CallOpClientRecvStatus</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_call_op_set_interface.html">grpc::CallOpSetInterface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a <a class="el" href="classgrpc_1_1_completion_queue_tag.html">CompletionQueueTag</a>, also massages the final completion into the correct form for consumption in the C++ API. <a href="classgrpc_1_1_call_op_set_interface.html#details">More...</a><br/></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a <a class="el" href="classgrpc_1_1_completion_queue_tag.html" title="An interface allowing implementors to process and filter event tags. ">CompletionQueueTag</a>, also massages the final completion into the correct form for consumption in the C++ API. <a href="classgrpc_1_1_call_op_set_interface.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_call_op_set.html">grpc::CallOpSet&lt; Op1, Op2, Op3, Op4, Op5, Op6 &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Primary implementaiton of <a class="el" href="classgrpc_1_1_call_op_set_interface.html" title="An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...">CallOpSetInterface</a>. <a href="classgrpc_1_1_call_op_set.html#details">More...</a><br/></td></tr>
@ -157,15 +157,15 @@ Namespaces</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a00d2939a7b40a674459016f6148f372d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc.html#a00d2939a7b40a674459016f6148f372d">grpc::FillMetadataMap</a> (grpc_metadata_array *arr, std::multimap&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt; *metadata)</td></tr>
<tr class="separator:a00d2939a7b40a674459016f6148f372d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d7e54df68b2ece8af68cdd148df8e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc.html#a86d7e54df68b2ece8af68cdd148df8e7">grpc::FillMetadataMap</a> (grpc_metadata_array *arr, std::multimap&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt; *metadata)</td></tr>
<tr class="separator:a86d7e54df68b2ece8af68cdd148df8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a431c01f228527dd6ff54632632b36af6"><td class="memItemLeft" align="right" valign="top">grpc_metadata *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc.html#a431c01f228527dd6ff54632632b36af6">grpc::FillMetadataArray</a> (const std::multimap&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt; &amp;metadata)</td></tr>
<tr class="separator:a431c01f228527dd6ff54632632b36af6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

File diff suppressed because it is too large Load Diff

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -91,30 +91,44 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">channel.cc File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="channel_8h_source.html">src/cpp/client/channel.h</a>&quot;</code><br/>
<div class="textblock"><code>#include &lt;<a class="el" href="channel_8h_source.html">grpc++/channel.h</a>&gt;</code><br/>
<code>#include &lt;memory&gt;</code><br/>
<code>#include &lt;grpc/grpc.h&gt;</code><br/>
<code>#include &lt;grpc/support/log.h&gt;</code><br/>
<code>#include &lt;grpc/support/slice.h&gt;</code><br/>
<code>#include &quot;src/core/profiling/timers.h&quot;</code><br/>
<code>#include &lt;<a class="el" href="channel__arguments_8h_source.html">grpc++/channel_arguments.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="client__context_8h_source.html">grpc++/client_context.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="completion__queue_8h_source.html">grpc++/completion_queue.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/config.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="credentials_8h_source.html">grpc++/credentials.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="credentials_8h_source.html">grpc++/security/credentials.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="call_8h_source.html">grpc++/impl/call.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="rpc__method_8h_source.html">grpc++/impl/rpc_method.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/status.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="channel__arguments_8h_source.html">grpc++/support/channel_arguments.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/support/config.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="status_8h_source.html">grpc++/support/status.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="time_8h_source.html">grpc++/support/time.h</a>&gt;</code><br/>
<code>#include &quot;src/core/profiling/timers.h&quot;</code><br/>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacegrpc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacegrpc.html">grpc</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ad94861a3d1acac73b46101def03e5780"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* tag_</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: src/cpp/client/channel.h File Reference</title>
<title>GRPC C++: include/grpc++/channel.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_dfdbda394c3f7a3aa55229f33a559c41.html">cpp</a></li><li class="navelem"><a class="el" href="dir_9b13ffd429196d74948b03440343f0b3.html">client</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -93,15 +93,31 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;memory&gt;</code><br/>
<code>#include &lt;<a class="el" href="channel__interface_8h_source.html">grpc++/channel_interface.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/config.h</a>&gt;</code><br/>
<code>#include &lt;grpc/grpc.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="call_8h_source.html">grpc++/impl/call.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="grpc__library_8h_source.html">grpc++/impl/grpc_library.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/support/config.h</a>&gt;</code><br/>
</div>
<p><a href="channel_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html">grpc::ClientReader&lt; R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_writer.html">grpc::ClientWriter&lt; W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer.html">grpc::ClientReaderWriter&lt; R, W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader.html">grpc::ClientAsyncReader&lt; R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer.html">grpc::ClientAsyncWriter&lt; W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html">grpc::ClientAsyncReaderWriter&lt; R, W &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_response_reader.html">grpc::ClientAsyncResponseReader&lt; R &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html">grpc::Channel</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channels represent a connection to an endpoint. Created by <em>CreateChannel</em>. <a href="classgrpc_1_1_channel.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@ -112,7 +128,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: src/cpp/client/channel.h Source File</title>
<title>GRPC C++: include/grpc++/channel.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_dfdbda394c3f7a3aa55229f33a559c41.html">cpp</a></li><li class="navelem"><a class="el" href="dir_9b13ffd429196d74948b03440343f0b3.html">client</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -122,68 +122,141 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPC_INTERNAL_CPP_CLIENT_CHANNEL_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPC_INTERNAL_CPP_CLIENT_CHANNEL_H</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_CHANNEL_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_CHANNEL_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="channel__interface_8h.html">grpc++/channel_interface.h</a>&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">grpc++/config.h</a>&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;grpc/grpc.h&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="call_8h.html">grpc++/impl/call.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="grpc__library_8h.html">grpc++/impl/grpc_library.h</a>&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;<span class="keyword">struct </span>grpc_channel;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">class </span>Call;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">class </span>CallOpSetInterface;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">class </span>ChannelArguments;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">class </span>CompletionQueue;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">class </span>Credentials;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">class </span>StreamContextInterface;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">grpc++/support/config.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">struct </span>grpc_channel;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="namespacegrpc.html"> 46</a></span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_call_op_set_interface.html">CallOpSetInterface</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a>;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_credentials.html">Credentials</a>;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_secure_credentials.html">SecureCredentials</a>;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html"> 53</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_channel.html">Channel</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_grpc_library.html">GrpcLibrary</a>, <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keyword">explicit</span> <a class="code" href="classgrpc_1_1_channel.html#ab5ae726213995c9859d8e736e3090189">Channel</a>(grpc_channel* c_channel);</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classgrpc_1_1_channel.html#ab5ae726213995c9859d8e736e3090189">Channel</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; host, grpc_channel* c_channel);</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <a class="code" href="classgrpc_1_1_channel.html#a328cc15191befeead2e67c505172fdc1">~Channel</a>() <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a>;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span>* <a class="code" href="classgrpc_1_1_channel.html#a9f4af1b920ae0f381415cd62f9301001">RegisterMethod</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* method) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a>;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_call.html">Call</a> <a class="code" href="classgrpc_1_1_channel.html#a1eba522535fdc85a69efd3e2fc400e09">CreateCall</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_rpc_method.html">RpcMethod</a>&amp; method, <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context,</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a>;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel.html#a2c6a3cb1c87c457fb0562e17df304ec3">PerformOpsOnCall</a>(<a class="code" href="classgrpc_1_1_call_op_set_interface.html">CallOpSetInterface</a>* ops,</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <a class="code" href="classgrpc_1_1_call.html">Call</a>* call) <a class="code" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> host_;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; grpc_channel* <span class="keyword">const</span> c_channel_; <span class="comment">// owned</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;};</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="preprocessor">#endif // GRPC_INTERNAL_CPP_CLIENT_CHANNEL_H</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_reader.html"> 54</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_reader.html">ClientReader</a>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_writer.html"> 56</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_writer.html">ClientWriter</a>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> R, <span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_reader_writer.html"> 58</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_reader_writer.html">ClientReaderWriter</a>;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader.html"> 60</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_reader.html">ClientAsyncReader</a>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_writer.html"> 62</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_writer.html">ClientAsyncWriter</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> R, <span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_reader_writer.html"> 64</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_reader_writer.html">ClientAsyncReaderWriter</a>;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;<span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classgrpc_1_1_client_async_response_reader.html"> 66</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_client_async_response_reader.html">ClientAsyncResponseReader</a>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html"> 69</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_channel.html">Channel</a> <a class="code" href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_grpc_library.html">GrpcLibrary</a>,</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_call_hook.html">CallHook</a>,</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">public</span> std::enable_shared_from_this&lt;Channel&gt; {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classgrpc_1_1_channel.html#af12754677a599351077d6f68cc0c9159">~Channel</a>();</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; grpc_connectivity_state <a class="code" href="classgrpc_1_1_channel.html#a3070c1bf22839a01d80db4dfb7199c81">GetState</a>(<span class="keywordtype">bool</span> try_to_connect);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#a90afcb9ab2a6893632987ab925168929"> 82</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel.html#a90afcb9ab2a6893632987ab925168929">NotifyOnStateChange</a>(grpc_connectivity_state last_observed, T deadline,</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq, <span class="keywordtype">void</span>* tag) {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classgrpc_1_1_time_point.html">TimePoint&lt;T&gt;</a> deadline_tp(deadline);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; NotifyOnStateChangeImpl(last_observed, deadline_tp.<a class="code" href="classgrpc_1_1_time_point.html#adb76465d3bf0fef9ad5b918f0ea6a9b6">raw_time</a>(), cq, tag);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#a4c54940cb0c353033cb86a004b1fa338"> 91</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classgrpc_1_1_channel.html#a4c54940cb0c353033cb86a004b1fa338">WaitForStateChange</a>(grpc_connectivity_state last_observed, T deadline) {</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="classgrpc_1_1_time_point.html">TimePoint&lt;T&gt;</a> deadline_tp(deadline);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">return</span> WaitForStateChangeImpl(last_observed, deadline_tp.<a class="code" href="classgrpc_1_1_time_point.html#adb76465d3bf0fef9ad5b918f0ea6a9b6">raw_time</a>());</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#ade499098cc91745c1c87147d7a7fb7bf"> 98</a></span>&#160; <span class="keyword">friend</span> class ::grpc::ClientReader;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#a4498fada67d531d99a8642f47d746544"> 100</a></span>&#160; <span class="keyword">friend</span> class ::grpc::ClientWriter;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> R, <span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#a6d5659aa24edba057895be774e2752ec"> 102</a></span>&#160; <span class="keyword">friend</span> class ::grpc::ClientReaderWriter;</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#af5343062a44a5633b144751e59969237"> 104</a></span>&#160; <span class="keyword">friend</span> class ::grpc::ClientAsyncReader;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#af3547958eadfaeb18692865bd73999ad"> 106</a></span>&#160; <span class="keyword">friend</span> class ::grpc::ClientAsyncWriter;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> R, <span class="keyword">class</span> W&gt;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#a5c0c96957129933bfe94a299c764eaa7"> 108</a></span>&#160; <span class="keyword">friend</span> class ::grpc::ClientAsyncReaderWriter;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> R&gt;</div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#a4b00162a9bd86e07669f2af67f85c73a"> 110</a></span>&#160; <span class="keyword">friend</span> class ::grpc::ClientAsyncResponseReader;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keyword">template</span> &lt;<span class="keyword">class</span> InputMessage, <span class="keyword">class</span> OutputMessage&gt;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">friend</span> <a class="code" href="classgrpc_1_1_status.html">Status</a> <a class="code" href="classgrpc_1_1_channel.html#ac574143322bf2bc6bd324ccb22d40756">BlockingUnaryCall</a>(<a class="code" href="classgrpc_1_1_channel.html">Channel</a>* channel, <span class="keyword">const</span> <a class="code" href="classgrpc_1_1_rpc_method.html">RpcMethod</a>&amp; method,</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context,</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">const</span> InputMessage&amp; request,</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; OutputMessage* result);</div>
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel.html#a6f68c65aab90864223a6aa9679a01b69"> 116</a></span>&#160; <span class="keyword">friend</span> class ::grpc::RpcMethod;</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">friend</span> std::shared_ptr&lt;Channel&gt; <a class="code" href="classgrpc_1_1_channel.html#acac59a2ab862b1c60832640b741e6440">CreateChannelInternal</a>(</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; host, grpc_channel* c_channel);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <a class="code" href="classgrpc_1_1_channel.html">Channel</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; host, grpc_channel* c_channel);</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classgrpc_1_1_call.html">Call</a> CreateCall(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_rpc_method.html">RpcMethod</a>&amp; method, <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context,</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq);</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordtype">void</span> PerformOpsOnCall(<a class="code" href="classgrpc_1_1_call_op_set_interface.html">CallOpSetInterface</a>* ops, <a class="code" href="classgrpc_1_1_call.html">Call</a>* call);</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordtype">void</span>* RegisterMethod(<span class="keyword">const</span> <span class="keywordtype">char</span>* method);</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">void</span> NotifyOnStateChangeImpl(grpc_connectivity_state last_observed,</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; gpr_timespec deadline, <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq,</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordtype">void</span>* tag);</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordtype">bool</span> WaitForStateChangeImpl(grpc_connectivity_state last_observed,</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; gpr_timespec deadline);</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> host_;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; grpc_channel* <span class="keyword">const</span> c_channel_; <span class="comment">// owned</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;};</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;<span class="preprocessor">#endif // GRPCXX_CHANNEL_H</span></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_writer_html"><div class="ttname"><a href="classgrpc_1_1_client_async_reader_writer.html">grpc::ClientAsyncReaderWriter</a></div><div class="ttdef"><b>Definition:</b> channel.h:64</div></div>
<div class="ttc" id="classgrpc_1_1_client_reader_html"><div class="ttname"><a href="classgrpc_1_1_client_reader.html">grpc::ClientReader</a></div><div class="ttdef"><b>Definition:</b> channel.h:54</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_a90afcb9ab2a6893632987ab925168929"><div class="ttname"><a href="classgrpc_1_1_channel.html#a90afcb9ab2a6893632987ab925168929">grpc::Channel::NotifyOnStateChange</a></div><div class="ttdeci">void NotifyOnStateChange(grpc_connectivity_state last_observed, T deadline, CompletionQueue *cq, void *tag)</div><div class="ttdoc">Return the tag on cq when the channel state is changed or deadline expires. </div><div class="ttdef"><b>Definition:</b> channel.h:82</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_a4c54940cb0c353033cb86a004b1fa338"><div class="ttname"><a href="classgrpc_1_1_channel.html#a4c54940cb0c353033cb86a004b1fa338">grpc::Channel::WaitForStateChange</a></div><div class="ttdeci">bool WaitForStateChange(grpc_connectivity_state last_observed, T deadline)</div><div class="ttdoc">Blocking wait for channel state change or deadline expiration. </div><div class="ttdef"><b>Definition:</b> channel.h:91</div></div>
<div class="ttc" id="namespacegrpc_html_ab04a87625da3bf85cdaf5e7856b00203"><div class="ttname"><a href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a></div><div class="ttdeci">std::string string</div><div class="ttdef"><b>Definition:</b> config.h:112</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_set_interface_html"><div class="ttname"><a href="classgrpc_1_1_call_op_set_interface.html">grpc::CallOpSetInterface</a></div><div class="ttdoc">An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...</div><div class="ttdef"><b>Definition:</b> call.h:482</div></div>
<div class="ttc" id="classgrpc_1_1_call_op_set_interface_html"><div class="ttname"><a href="classgrpc_1_1_call_op_set_interface.html">grpc::CallOpSetInterface</a></div><div class="ttdoc">An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...</div><div class="ttdef"><b>Definition:</b> call.h:478</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html">grpc::ChannelArguments</a></div><div class="ttdoc">Options for channel creation. </div><div class="ttdef"><b>Definition:</b> channel_arguments.h:52</div></div>
<div class="ttc" id="grpc__library_8h_html"><div class="ttname"><a href="grpc__library_8h.html">grpc_library.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_af12754677a599351077d6f68cc0c9159"><div class="ttname"><a href="classgrpc_1_1_channel.html#af12754677a599351077d6f68cc0c9159">grpc::Channel::~Channel</a></div><div class="ttdeci">~Channel()</div><div class="ttdef"><b>Definition:</b> channel.cc:57</div></div>
<div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_a1eba522535fdc85a69efd3e2fc400e09"><div class="ttname"><a href="classgrpc_1_1_channel.html#a1eba522535fdc85a69efd3e2fc400e09">grpc::Channel::CreateCall</a></div><div class="ttdeci">virtual Call CreateCall(const RpcMethod &amp;method, ClientContext *context, CompletionQueue *cq) GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> channel.cc:61</div></div>
<div class="ttc" id="channel__interface_8h_html"><div class="ttname"><a href="channel__interface_8h.html">channel_interface.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_a3070c1bf22839a01d80db4dfb7199c81"><div class="ttname"><a href="classgrpc_1_1_channel.html#a3070c1bf22839a01d80db4dfb7199c81">grpc::Channel::GetState</a></div><div class="ttdeci">grpc_connectivity_state GetState(bool try_to_connect)</div><div class="ttdoc">Get the current channel state. </div><div class="ttdef"><b>Definition:</b> channel.cc:102</div></div>
<div class="ttc" id="config_8h_html_ab2216aa6e0ffe505e1ec362a9621a7f9"><div class="ttname"><a href="config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9">GRPC_FINAL</a></div><div class="ttdeci">#define GRPC_FINAL</div><div class="ttdef"><b>Definition:</b> config.h:71</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_ab5ae726213995c9859d8e736e3090189"><div class="ttname"><a href="classgrpc_1_1_channel.html#ab5ae726213995c9859d8e736e3090189">grpc::Channel::Channel</a></div><div class="ttdeci">Channel(grpc_channel *c_channel)</div><div class="ttdef"><b>Definition:</b> channel.cc:54</div></div>
<div class="ttc" id="classgrpc_1_1_client_context_html"><div class="ttname"><a href="classgrpc_1_1_client_context.html">grpc::ClientContext</a></div><div class="ttdef"><b>Definition:</b> client_context.h:74</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_a9f4af1b920ae0f381415cd62f9301001"><div class="ttname"><a href="classgrpc_1_1_channel.html#a9f4af1b920ae0f381415cd62f9301001">grpc::Channel::RegisterMethod</a></div><div class="ttdeci">virtual void * RegisterMethod(const char *method) GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> channel.cc:91</div></div>
<div class="ttc" id="classgrpc_1_1_time_point_html_adb76465d3bf0fef9ad5b918f0ea6a9b6"><div class="ttname"><a href="classgrpc_1_1_time_point.html#adb76465d3bf0fef9ad5b918f0ea6a9b6">grpc::TimePoint::raw_time</a></div><div class="ttdeci">gpr_timespec raw_time()</div><div class="ttdef"><b>Definition:</b> time.h:56</div></div>
<div class="ttc" id="classgrpc_1_1_time_point_html"><div class="ttname"><a href="classgrpc_1_1_time_point.html">grpc::TimePoint</a></div><div class="ttdef"><b>Definition:</b> time.h:53</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_response_reader_html"><div class="ttname"><a href="classgrpc_1_1_client_async_response_reader.html">grpc::ClientAsyncResponseReader</a></div><div class="ttdef"><b>Definition:</b> channel.h:66</div></div>
<div class="ttc" id="classgrpc_1_1_client_context_html"><div class="ttname"><a href="classgrpc_1_1_client_context.html">grpc::ClientContext</a></div><div class="ttdef"><b>Definition:</b> client_context.h:149</div></div>
<div class="ttc" id="classgrpc_1_1_grpc_library_html"><div class="ttname"><a href="classgrpc_1_1_grpc_library.html">grpc::GrpcLibrary</a></div><div class="ttdef"><b>Definition:</b> grpc_library.h:41</div></div>
<div class="ttc" id="classgrpc_1_1_call_html"><div class="ttname"><a href="classgrpc_1_1_call.html">grpc::Call</a></div><div class="ttdef"><b>Definition:</b> call.h:565</div></div>
<div class="ttc" id="classgrpc_1_1_channel_interface_html"><div class="ttname"><a href="classgrpc_1_1_channel_interface.html">grpc::ChannelInterface</a></div><div class="ttdef"><b>Definition:</b> channel_interface.h:52</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_a328cc15191befeead2e67c505172fdc1"><div class="ttname"><a href="classgrpc_1_1_channel.html#a328cc15191befeead2e67c505172fdc1">grpc::Channel::~Channel</a></div><div class="ttdeci">~Channel() GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> channel.cc:59</div></div>
<div class="ttc" id="classgrpc_1_1_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_completion_queue.html">grpc::CompletionQueue</a></div><div class="ttdef"><b>Definition:</b> completion_queue.h:87</div></div>
<div class="ttc" id="classgrpc_1_1_rpc_method_html"><div class="ttname"><a href="classgrpc_1_1_rpc_method.html">grpc::RpcMethod</a></div><div class="ttdef"><b>Definition:</b> rpc_method.h:39</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_a2c6a3cb1c87c457fb0562e17df304ec3"><div class="ttname"><a href="classgrpc_1_1_channel.html#a2c6a3cb1c87c457fb0562e17df304ec3">grpc::Channel::PerformOpsOnCall</a></div><div class="ttdeci">virtual void PerformOpsOnCall(CallOpSetInterface *ops, Call *call) GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> channel.cc:80</div></div>
<div class="ttc" id="config_8h_html_a9a884d706be26697c9c892365a3402a9"><div class="ttname"><a href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></div><div class="ttdeci">#define GRPC_OVERRIDE</div><div class="ttdef"><b>Definition:</b> config.h:77</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html"><div class="ttname"><a href="classgrpc_1_1_channel.html">grpc::Channel</a></div><div class="ttdef"><b>Definition:</b> channel.h:53</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_acac59a2ab862b1c60832640b741e6440"><div class="ttname"><a href="classgrpc_1_1_channel.html#acac59a2ab862b1c60832640b741e6440">grpc::Channel::CreateChannelInternal</a></div><div class="ttdeci">friend std::shared_ptr&lt; Channel &gt; CreateChannelInternal(const grpc::string &amp;host, grpc_channel *c_channel)</div><div class="ttdef"><b>Definition:</b> create_channel_internal.cc:42</div></div>
<div class="ttc" id="classgrpc_1_1_call_html"><div class="ttname"><a href="classgrpc_1_1_call.html">grpc::Call</a></div><div class="ttdef"><b>Definition:</b> call.h:560</div></div>
<div class="ttc" id="classgrpc_1_1_credentials_html"><div class="ttname"><a href="classgrpc_1_1_credentials.html">grpc::Credentials</a></div><div class="ttdoc">A credentials object encapsulates all the state needed by a client to authenticate with a server and ...</div><div class="ttdef"><b>Definition:</b> credentials.h:53</div></div>
<div class="ttc" id="call_8h_html"><div class="ttname"><a href="call_8h.html">call.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_client_async_writer_html"><div class="ttname"><a href="classgrpc_1_1_client_async_writer.html">grpc::ClientAsyncWriter</a></div><div class="ttdef"><b>Definition:</b> channel.h:62</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html_ac574143322bf2bc6bd324ccb22d40756"><div class="ttname"><a href="classgrpc_1_1_channel.html#ac574143322bf2bc6bd324ccb22d40756">grpc::Channel::BlockingUnaryCall</a></div><div class="ttdeci">friend Status BlockingUnaryCall(Channel *channel, const RpcMethod &amp;method, ClientContext *context, const InputMessage &amp;request, OutputMessage *result)</div><div class="ttdef"><b>Definition:</b> client_unary_call.h:50</div></div>
<div class="ttc" id="classgrpc_1_1_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_completion_queue.html">grpc::CompletionQueue</a></div><div class="ttdoc">A thin wrapper around grpc_completion_queue (see / src/core/surface/completion_queue.h). </div><div class="ttdef"><b>Definition:</b> completion_queue.h:81</div></div>
<div class="ttc" id="classgrpc_1_1_rpc_method_html"><div class="ttname"><a href="classgrpc_1_1_rpc_method.html">grpc::RpcMethod</a></div><div class="ttdef"><b>Definition:</b> rpc_method.h:43</div></div>
<div class="ttc" id="classgrpc_1_1_status_html"><div class="ttname"><a href="classgrpc_1_1_status.html">grpc::Status</a></div><div class="ttdoc">Did it work? If it didn&#39;t, why? </div><div class="ttdef"><b>Definition:</b> status.h:45</div></div>
<div class="ttc" id="classgrpc_1_1_client_reader_writer_html"><div class="ttname"><a href="classgrpc_1_1_client_reader_writer.html">grpc::ClientReaderWriter</a></div><div class="ttdef"><b>Definition:</b> channel.h:58</div></div>
<div class="ttc" id="classgrpc_1_1_client_async_reader_html"><div class="ttname"><a href="classgrpc_1_1_client_async_reader.html">grpc::ClientAsyncReader</a></div><div class="ttdef"><b>Definition:</b> channel.h:60</div></div>
<div class="ttc" id="classgrpc_1_1_client_writer_html"><div class="ttname"><a href="classgrpc_1_1_client_writer.html">grpc::ClientWriter</a></div><div class="ttdef"><b>Definition:</b> channel.h:56</div></div>
<div class="ttc" id="classgrpc_1_1_call_hook_html"><div class="ttname"><a href="classgrpc_1_1_call_hook.html">grpc::CallHook</a></div><div class="ttdef"><b>Definition:</b> call.h:553</div></div>
<div class="ttc" id="classgrpc_1_1_secure_credentials_html"><div class="ttname"><a href="classgrpc_1_1_secure_credentials.html">grpc::SecureCredentials</a></div><div class="ttdef"><b>Definition:</b> secure_credentials.h:44</div></div>
<div class="ttc" id="classgrpc_1_1_channel_html"><div class="ttname"><a href="classgrpc_1_1_channel.html">grpc::Channel</a></div><div class="ttdoc">Channels represent a connection to an endpoint. Created by CreateChannel. </div><div class="ttdef"><b>Definition:</b> channel.h:69</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -91,7 +91,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">channel_arguments.cc File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="channel__arguments_8h_source.html">grpc++/channel_arguments.h</a>&gt;</code><br/>
<div class="textblock"><code>#include &lt;<a class="el" href="channel__arguments_8h_source.html">grpc++/support/channel_arguments.h</a>&gt;</code><br/>
<code>#include &lt;grpc/support/log.h&gt;</code><br/>
<code>#include &quot;src/core/channel/channel_args.h&quot;</code><br/>
</div><table class="memberdecls">
@ -103,7 +103,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/channel_arguments.h File Reference</title>
<title>GRPC C++: include/grpc++/support/channel_arguments.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_b3f05bce718e375cbe64ccd78910fb7d.html">support</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -94,15 +94,16 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="contents">
<div class="textblock"><code>#include &lt;vector&gt;</code><br/>
<code>#include &lt;list&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/config.h</a>&gt;</code><br/>
<code>#include &lt;grpc/compression.h&gt;</code><br/>
<code>#include &lt;grpc/grpc.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="config_8h_source.html">grpc++/support/config.h</a>&gt;</code><br/>
</div>
<p><a href="channel__arguments_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_arguments.html">grpc::ChannelArguments</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Options for channel creation. <a href="classgrpc_1_1_channel_arguments.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
@ -115,7 +116,7 @@ Namespaces</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/channel_arguments.h Source File</title>
<title>GRPC C++: include/grpc++/support/channel_arguments.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -81,7 +81,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li><li class="navelem"><a class="el" href="dir_b3f05bce718e375cbe64ccd78910fb7d.html">support</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
@ -122,24 +122,21 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_CHANNEL_ARGUMENTS_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_CHANNEL_ARGUMENTS_H</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_SUPPORT_CHANNEL_ARGUMENTS_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_SUPPORT_CHANNEL_ARGUMENTS_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">grpc++/config.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;grpc/compression.h&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;grpc/grpc.h&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;grpc/compression.h&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;<span class="preprocessor">#include &lt;grpc/grpc.h&gt;</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="config_8h.html">grpc++/support/config.h</a>&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="namespacegrpc_1_1testing.html"> 45</a></span>&#160;<span class="keyword">namespace </span>testing {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">namespace </span>testing {</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">class </span>ChannelArgumentsTest;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;} <span class="comment">// namespace testing</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="comment">// Options for channel creation. The user can use generic setters to pass</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="comment">// key value pairs down to c channel creation code. For grpc related options,</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;<span class="comment">// concrete setters are provided.</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel_arguments.html"> 52</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a> {</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel_arguments.html#aecabf1ea1c78a3202544571cf857e8eb"> 54</a></span>&#160; <a class="code" href="classgrpc_1_1_channel_arguments.html#aecabf1ea1c78a3202544571cf857e8eb">ChannelArguments</a>() {}</div>
@ -153,53 +150,49 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#a3ff4f22c2cf31c01885b2aaefbdd227d">Swap</a>(<a class="code" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a>&amp; other);</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// grpc specific channel argument setters</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// Set target name override for SSL host name checking.</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#af4182e659448184f9618f079a1570328">SetSslTargetNameOverride</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; name);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="comment">// TODO(yangg) add flow control options</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="comment">// Set the compression algorithm for the channel.</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#aaf332071bbdff5e4a7f3352f4ad564d5">SetCompressionAlgorithm</a>(grpc_compression_algorithm algorithm);</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// Generic channel argument setters. Only for advanced use cases.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#a2b1c60568a4906bfe0b21781b09cdbbf">SetInt</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; key, <span class="keywordtype">int</span> value);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#a852ac2fe0ac7421fa82927ddda612947">SetString</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; key, <span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; value);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="comment">// Populates given channel_args with args_, does not take ownership.</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048">SetChannelArgs</a>(grpc_channel_args* channel_args) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel_arguments.html#ae60893d904f922c32a57fb18e618db66"> 81</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgrpc_1_1_secure_credentials.html">SecureCredentials</a>;</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b"> 82</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b">testing::ChannelArgumentsTest</a>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="comment">// Returns empty string when it is not set.</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> GetSslTargetNameOverride() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; std::vector&lt;grpc_arg&gt; args_;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; std::list&lt;grpc::string&gt; strings_;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;};</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;<span class="preprocessor">#endif // GRPCXX_CHANNEL_ARGUMENTS_H</span></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_ab9fc942609a77bb3021ba172be262c7b"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b">grpc::ChannelArguments::ChannelArgumentsTest</a></div><div class="ttdeci">friend class testing::ChannelArgumentsTest</div><div class="ttdef"><b>Definition:</b> channel_arguments.h:82</div></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048">SetChannelArgs</a>(grpc_channel_args* channel_args) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="comment">// gRPC specific channel argument setters</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;<span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#af4182e659448184f9618f079a1570328">SetSslTargetNameOverride</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; name);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// TODO(yangg) add flow control options</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;<span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#aaf332071bbdff5e4a7f3352f4ad564d5">SetCompressionAlgorithm</a>(grpc_compression_algorithm algorithm);</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="comment">// Generic channel argument setters. Only for advanced use cases.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;<span class="comment"></span> <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#a2b1c60568a4906bfe0b21781b09cdbbf">SetInt</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; key, <span class="keywordtype">int</span> value);</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classgrpc_1_1_channel_arguments.html#a852ac2fe0ac7421fa82927ddda612947">SetString</a>(<span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; key, <span class="keyword">const</span> <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&amp; value);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keyword">private</span>:</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel_arguments.html#ae60893d904f922c32a57fb18e618db66"> 86</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgrpc_1_1_secure_credentials.html">SecureCredentials</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b"> 87</a></span>&#160; <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b">testing::ChannelArgumentsTest</a>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="comment">// Returns empty string when it is not set.</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> GetSslTargetNameOverride() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; std::vector&lt;grpc_arg&gt; args_;</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; std::list&lt;grpc::string&gt; strings_;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160;};</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor">#endif // GRPCXX_SUPPORT_CHANNEL_ARGUMENTS_H</span></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_ab9fc942609a77bb3021ba172be262c7b"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b">grpc::ChannelArguments::ChannelArgumentsTest</a></div><div class="ttdeci">friend class testing::ChannelArgumentsTest</div><div class="ttdef"><b>Definition:</b> channel_arguments.h:87</div></div>
<div class="ttc" id="namespacegrpc_html_ab04a87625da3bf85cdaf5e7856b00203"><div class="ttname"><a href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a></div><div class="ttdeci">std::string string</div><div class="ttdef"><b>Definition:</b> config.h:112</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_a852ac2fe0ac7421fa82927ddda612947"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#a852ac2fe0ac7421fa82927ddda612947">grpc::ChannelArguments::SetString</a></div><div class="ttdeci">void SetString(const grpc::string &amp;key, const grpc::string &amp;value)</div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:93</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html">grpc::ChannelArguments</a></div><div class="ttdef"><b>Definition:</b> channel_arguments.h:52</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_a852ac2fe0ac7421fa82927ddda612947"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#a852ac2fe0ac7421fa82927ddda612947">grpc::ChannelArguments::SetString</a></div><div class="ttdeci">void SetString(const grpc::string &amp;key, const grpc::string &amp;value)</div><div class="ttdoc">Set a textual argument value under key. </div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:92</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html">grpc::ChannelArguments</a></div><div class="ttdoc">Options for channel creation. </div><div class="ttdef"><b>Definition:</b> channel_arguments.h:52</div></div>
<div class="ttc" id="config_8h_html"><div class="ttname"><a href="config_8h.html">config.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_a3ff4f22c2cf31c01885b2aaefbdd227d"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#a3ff4f22c2cf31c01885b2aaefbdd227d">grpc::ChannelArguments::Swap</a></div><div class="ttdeci">void Swap(ChannelArguments &amp;other)</div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:73</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_aaf332071bbdff5e4a7f3352f4ad564d5"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#aaf332071bbdff5e4a7f3352f4ad564d5">grpc::ChannelArguments::SetCompressionAlgorithm</a></div><div class="ttdeci">void SetCompressionAlgorithm(grpc_compression_algorithm algorithm)</div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:78</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_af4182e659448184f9618f079a1570328"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#af4182e659448184f9618f079a1570328">grpc::ChannelArguments::SetSslTargetNameOverride</a></div><div class="ttdeci">void SetSslTargetNameOverride(const grpc::string &amp;name)</div><div class="ttdef"><b>Definition:</b> secure_channel_arguments.cc:41</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_a3ff4f22c2cf31c01885b2aaefbdd227d"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#a3ff4f22c2cf31c01885b2aaefbdd227d">grpc::ChannelArguments::Swap</a></div><div class="ttdeci">void Swap(ChannelArguments &amp;other)</div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:72</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_aaf332071bbdff5e4a7f3352f4ad564d5"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#aaf332071bbdff5e4a7f3352f4ad564d5">grpc::ChannelArguments::SetCompressionAlgorithm</a></div><div class="ttdeci">void SetCompressionAlgorithm(grpc_compression_algorithm algorithm)</div><div class="ttdoc">Set the compression algorithm for the channel. </div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:77</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_af4182e659448184f9618f079a1570328"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#af4182e659448184f9618f079a1570328">grpc::ChannelArguments::SetSslTargetNameOverride</a></div><div class="ttdeci">void SetSslTargetNameOverride(const grpc::string &amp;name)</div><div class="ttdoc">Set target name override for SSL host name checking. </div><div class="ttdef"><b>Definition:</b> secure_channel_arguments.cc:41</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_a8058adf243855c3a44030c23ccec05ad"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#a8058adf243855c3a44030c23ccec05ad">grpc::ChannelArguments::~ChannelArguments</a></div><div class="ttdeci">~ChannelArguments()</div><div class="ttdef"><b>Definition:</b> channel_arguments.h:55</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_a2b1c60568a4906bfe0b21781b09cdbbf"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#a2b1c60568a4906bfe0b21781b09cdbbf">grpc::ChannelArguments::SetInt</a></div><div class="ttdeci">void SetInt(const grpc::string &amp;key, int value)</div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:83</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_a2b1c60568a4906bfe0b21781b09cdbbf"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#a2b1c60568a4906bfe0b21781b09cdbbf">grpc::ChannelArguments::SetInt</a></div><div class="ttdeci">void SetInt(const grpc::string &amp;key, int value)</div><div class="ttdoc">Set an integer argument value under key. </div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:82</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_ac75ba90de32a5c7f3cb6c62f7ce649be"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#ac75ba90de32a5c7f3cb6c62f7ce649be">grpc::ChannelArguments::operator=</a></div><div class="ttdeci">ChannelArguments &amp; operator=(ChannelArguments other)</div><div class="ttdef"><b>Definition:</b> channel_arguments.h:58</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_aecabf1ea1c78a3202544571cf857e8eb"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#aecabf1ea1c78a3202544571cf857e8eb">grpc::ChannelArguments::ChannelArguments</a></div><div class="ttdeci">ChannelArguments()</div><div class="ttdef"><b>Definition:</b> channel_arguments.h:54</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_a90ce1857947d36ff894402ad10cb6048"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048">grpc::ChannelArguments::SetChannelArgs</a></div><div class="ttdeci">void SetChannelArgs(grpc_channel_args *channel_args) const </div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:105</div></div>
<div class="ttc" id="classgrpc_1_1_channel_arguments_html_a90ce1857947d36ff894402ad10cb6048"><div class="ttname"><a href="classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048">grpc::ChannelArguments::SetChannelArgs</a></div><div class="ttdeci">void SetChannelArgs(grpc_channel_args *channel_args) const </div><div class="ttdoc">Populates this instance with the arguments from channel_args. </div><div class="ttdef"><b>Definition:</b> channel_arguments.cc:104</div></div>
<div class="ttc" id="classgrpc_1_1_secure_credentials_html"><div class="ttname"><a href="classgrpc_1_1_secure_credentials.html">grpc::SecureCredentials</a></div><div class="ttdef"><b>Definition:</b> secure_credentials.h:44</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -1,175 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: include/grpc++/channel_interface.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_f1b2ab2a88927c1e950e43c1cf4b634b.html">grpc++</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">channel_interface.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="channel__interface_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> * Copyright 2015, Google Inc.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * All rights reserved.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * modification, are permitted provided that the following conditions are</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * met:</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> * * Redistributions in binary form must reproduce the above</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * copyright notice, this list of conditions and the following disclaimer</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * in the documentation and/or other materials provided with the</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> * distribution.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * * Neither the name of Google Inc. nor the names of its</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * contributors may be used to endorse or promote products derived from</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * this software without specific prior written permission.</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#ifndef GRPCXX_CHANNEL_INTERFACE_H</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define GRPCXX_CHANNEL_INTERFACE_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="status_8h.html">grpc++/status.h</a>&gt;</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="call_8h.html">grpc++/impl/call.h</a>&gt;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keyword">struct </span>grpc_call;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;<span class="keyword">namespace </span>grpc {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;<span class="keyword">class </span>Call;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">class </span>CallOpBuffer;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="keyword">class </span>ClientContext;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="keyword">class </span>CompletionQueue;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<span class="keyword">class </span>RpcMethod;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="keyword">class </span>CallInterface;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel_interface.html"> 52</a></span>&#160;<span class="keyword">class </span><a class="code" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> : <span class="keyword">public</span> <a class="code" href="classgrpc_1_1_call_hook.html">CallHook</a>,</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keyword">public</span> std::enable_shared_from_this&lt;ChannelInterface&gt; {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classgrpc_1_1_channel_interface.html#a3f5145d4778aa952540dc9983cefe13f"> 55</a></span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_channel_interface.html#a3f5145d4778aa952540dc9983cefe13f">~ChannelInterface</a>() {}</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span>* <a class="code" href="classgrpc_1_1_channel_interface.html#a267926300784051328390b2f7648c99f">RegisterMethod</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* method_name) = 0;</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">virtual</span> <a class="code" href="classgrpc_1_1_call.html">Call</a> <a class="code" href="classgrpc_1_1_channel_interface.html#a9fd365d30961e8e40805a3c8faf276d0">CreateCall</a>(<span class="keyword">const</span> <a class="code" href="classgrpc_1_1_rpc_method.html">RpcMethod</a>&amp; method, <a class="code" href="classgrpc_1_1_client_context.html">ClientContext</a>* context,</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a>* cq) = 0;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;};</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;} <span class="comment">// namespace grpc</span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#endif // GRPCXX_CHANNEL_INTERFACE_H</span></div>
<div class="ttc" id="classgrpc_1_1_client_context_html"><div class="ttname"><a href="classgrpc_1_1_client_context.html">grpc::ClientContext</a></div><div class="ttdef"><b>Definition:</b> client_context.h:74</div></div>
<div class="ttc" id="classgrpc_1_1_channel_interface_html_a9fd365d30961e8e40805a3c8faf276d0"><div class="ttname"><a href="classgrpc_1_1_channel_interface.html#a9fd365d30961e8e40805a3c8faf276d0">grpc::ChannelInterface::CreateCall</a></div><div class="ttdeci">virtual Call CreateCall(const RpcMethod &amp;method, ClientContext *context, CompletionQueue *cq)=0</div></div>
<div class="ttc" id="classgrpc_1_1_call_html"><div class="ttname"><a href="classgrpc_1_1_call.html">grpc::Call</a></div><div class="ttdef"><b>Definition:</b> call.h:565</div></div>
<div class="ttc" id="classgrpc_1_1_channel_interface_html"><div class="ttname"><a href="classgrpc_1_1_channel_interface.html">grpc::ChannelInterface</a></div><div class="ttdef"><b>Definition:</b> channel_interface.h:52</div></div>
<div class="ttc" id="call_8h_html"><div class="ttname"><a href="call_8h.html">call.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_completion_queue_html"><div class="ttname"><a href="classgrpc_1_1_completion_queue.html">grpc::CompletionQueue</a></div><div class="ttdef"><b>Definition:</b> completion_queue.h:87</div></div>
<div class="ttc" id="classgrpc_1_1_channel_interface_html_a267926300784051328390b2f7648c99f"><div class="ttname"><a href="classgrpc_1_1_channel_interface.html#a267926300784051328390b2f7648c99f">grpc::ChannelInterface::RegisterMethod</a></div><div class="ttdeci">virtual void * RegisterMethod(const char *method_name)=0</div></div>
<div class="ttc" id="status_8h_html"><div class="ttname"><a href="status_8h.html">status.h</a></div></div>
<div class="ttc" id="classgrpc_1_1_rpc_method_html"><div class="ttname"><a href="classgrpc_1_1_rpc_method.html">grpc::RpcMethod</a></div><div class="ttdef"><b>Definition:</b> rpc_method.h:39</div></div>
<div class="ttc" id="classgrpc_1_1_channel_interface_html_a3f5145d4778aa952540dc9983cefe13f"><div class="ttname"><a href="classgrpc_1_1_channel_interface.html#a3f5145d4778aa952540dc9983cefe13f">grpc::ChannelInterface::~ChannelInterface</a></div><div class="ttdeci">virtual ~ChannelInterface()</div><div class="ttdef"><b>Definition:</b> channel_interface.h:55</div></div>
<div class="ttc" id="classgrpc_1_1_call_hook_html"><div class="ttname"><a href="classgrpc_1_1_call_hook.html">grpc::CallHook</a></div><div class="ttdef"><b>Definition:</b> call.h:558</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -265,7 +265,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -249,7 +249,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -87,64 +87,66 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="title">Data Structure Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a></div>
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a></div>
<table style="margin: 10px; white-space: nowrap;" align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td rowspan="2" valign="bottom"><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;A&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html">DeserializeFuncType</a> (<a class="el" href="namespacegrpc_1_1_call_op_generic_recv_message_helper.html">grpc::CallOpGenericRecvMessageHelper</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_rpc_method_handler.html">RpcMethodHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc_1_1_ssl_credentials_options.html">SslCredentialsOptions</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_dynamic_thread_pool.html">DynamicThreadPool</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_rpc_service.html">RpcService</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc_1_1_ssl_server_credentials_options.html">SslServerCredentialsOptions</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_async_generic_service.html">AsyncGenericService</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_rpc_service_method.html">RpcServiceMethod</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_asynchronous_service.html">AsynchronousService</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_reader.html">ClientAsyncReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_synchronous_service.html">SynchronousService</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_async_reader_interface.html">AsyncReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_reader_interface.html">ClientAsyncReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_fixed_size_thread_pool.html">FixedSizeThreadPool</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_1_1_sync_request.html">Server::SyncRequest</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_async_writer_interface.html">AsyncWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html">ClientAsyncReaderWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;G&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_secure_auth_context.html">SecureAuthContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_call_op_set_interface.html">CallOpSetInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_dynamic_thread_pool.html">DynamicThreadPool</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_secure_credentials.html">SecureCredentials</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_time_point.html">TimePoint</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;F&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_secure_server_credentials.html">SecureServerCredentials</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html">TimePoint&lt; gpr_timespec &gt;</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_async_generic_service.html">AsyncGenericService</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_serialization_traits.html">SerializationTraits</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html">TimePoint&lt; std::chrono::system_clock::time_point &gt;</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_asynchronous_service.html">AsynchronousService</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_reader.html">ClientAsyncReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_fixed_size_thread_pool.html">FixedSizeThreadPool</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html">SerializationTraits&lt; ByteBuffer, void &gt;</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;U&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_async_reader_interface.html">AsyncReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_reader_interface.html">ClientAsyncReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;G&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html">SerializationTraits&lt; T, typename std::enable_if&lt; std::is_base_of&lt; grpc::protobuf::Message, T &gt;::value &gt;::type &gt;</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_async_writer_interface.html">AsyncWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html">ClientAsyncReaderWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server.html">Server</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_request.html">Server::UnimplementedAsyncRequest</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_auth_context.html">AuthContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_reader_writer_interface.html">ClientAsyncReaderWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_generic_server_context.html">GenericServerContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_reader.html">ServerAsyncReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_request_context.html">Server::UnimplementedAsyncRequestContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html">AuthMetadataProcessor</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_response_reader.html">ClientAsyncResponseReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_generic_stub.html">GenericStub</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_reader_writer.html">ServerAsyncReaderWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_response.html">Server::UnimplementedAsyncResponse</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_auth_metadata_processor_aync_wrapper.html">AuthMetadataProcessorAyncWrapper</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_response_reader_interface.html">ClientAsyncResponseReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_grpc_buffer_reader.html">GrpcBufferReader</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_response_writer.html">ServerAsyncResponseWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_unknown_method_handler.html">UnknownMethodHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html">ClientAsyncStreamingInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_grpc_buffer_writer.html">GrpcBufferWriter</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_streaming_interface.html">ServerAsyncStreamingInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;W&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_auth_context.html">AuthContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_reader_writer_interface.html">ClientAsyncReaderWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_secure_credentials.html">SecureCredentials</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_response_reader.html">ClientAsyncResponseReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_generic_server_context.html">GenericServerContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_secure_server_credentials.html">SecureServerCredentials</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_thread_pool_interface.html">ThreadPoolInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;B&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_response_reader_interface.html">ClientAsyncResponseReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_generic_stub.html">GenericStub</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_serialization_traits.html">SerializationTraits</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_time_point.html">TimePoint</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html">ClientAsyncStreamingInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_grpc_buffer_reader.html">GrpcBufferReader</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html">SerializationTraits&lt; ByteBuffer, void &gt;</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html">TimePoint&lt; gpr_timespec &gt;</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_bidi_streaming_handler.html">BidiStreamingHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_writer.html">ClientAsyncWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_grpc_buffer_writer.html">GrpcBufferWriter</a>&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html">SerializationTraits&lt; T, typename std::enable_if&lt; std::is_base_of&lt; grpc::protobuf::Message, T &gt;::value &gt;::type &gt;</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html">TimePoint&lt; std::chrono::system_clock::time_point &gt;</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_writer_interface.html">ClientAsyncWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_grpc_library.html">GrpcLibrary</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server.html">Server</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;W&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_client_async_writer.html">ClientAsyncWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_grpc_library.html">GrpcLibrary</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_writer.html">ServerAsyncWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_client_async_writer_interface.html">ClientAsyncWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_bidi_streaming_handler.html">BidiStreamingHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_completion_queue.html">ServerCompletionQueue</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_writer_interface.html">WriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_byte_buffer.html">ByteBuffer</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_reader.html">ClientReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc_1_1_method_handler_1_1_handler_parameter.html">MethodHandler::HandlerParameter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_context.html">ServerContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;C&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;H&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_reader.html">ServerAsyncReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_client_reader.html">ClientReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_reader_writer.html">ServerAsyncReaderWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call.html">Call</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_reader_interface.html">ClientReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc_1_1_method_handler_1_1_handler_parameter.html">MethodHandler::HandlerParameter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_response_writer.html">ServerAsyncResponseWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_writer_interface.html">WriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html">Server::SyncRequest::CallData</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_reader_writer.html">ClientReaderWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;I&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_streaming_interface.html">ServerAsyncStreamingInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_client_reader_interface.html">ClientReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_client_reader_writer.html">ClientReaderWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_reader.html">ServerReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1condition__variable.html">condition_variable</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call.html">Call</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_reader_writer_interface.html">ClientReaderWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_method_handler.html">MethodHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_reader_writer.html">ServerReaderWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_hook.html">CallHook</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_reader_writer_interface.html">ClientReaderWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_async_writer.html">ServerAsyncWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_no_op.html">CallNoOp</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_streaming_handler.html">ClientStreamingHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_internal_stub.html">InternalStub</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_builder.html">ServerBuilder</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1condition__variable.html">condition_variable</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_client_recv_status.html">CallOpClientRecvStatus</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_streaming_interface.html">ClientStreamingInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;M&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_server_completion_queue.html">ServerCompletionQueue</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html">Server::SyncRequest::CallData</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_streaming_handler.html">ClientStreamingHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_server_streaming_handler.html">ServerStreamingHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_hook.html">CallHook</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_streaming_interface.html">ClientStreamingInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_writer.html">ServerWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1lock__guard.html">lock_guard</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_no_op.html">CallNoOp</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_writer.html">ClientWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html">SslServerCredentialsOptions::PemKeyCertPair</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_1_1_shutdown_request.html">Server::ShutdownRequest</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_client_send_close.html">CallOpClientSendClose</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_writer.html">ClientWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_context.html">ServerContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_generic_recv_message.html">CallOpGenericRecvMessage</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_writer_interface.html">ClientWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_method_handler.html">MethodHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_credentials.html">ServerCredentials</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1lock__guard.html">lock_guard</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_recv_initial_metadata.html">CallOpRecvInitialMetadata</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_context_1_1_completion_op.html">ServerContext::CompletionOp</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_P"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;P&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_server_reader.html">ServerReader</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_client_recv_status.html">CallOpClientRecvStatus</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_client_writer_interface.html">ClientWriterInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_slice.html">Slice</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_client_send_close.html">CallOpClientSendClose</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_context_1_1_completion_op.html">ServerContext::CompletionOp</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;R&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_sneaky_call_op_set.html">SneakyCallOpSet</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1mutex.html">mutex</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_generic_recv_message.html">CallOpGenericRecvMessage</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc_1_1_ssl_credentials_options.html">SslCredentialsOptions</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_recv_message.html">CallOpRecvMessage</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_reader_writer.html">ServerReaderWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_send_initial_metadata.html">CallOpSendInitialMetadata</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_completion_queue_tag.html">CompletionQueueTag</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html">SslServerCredentialsOptions::PemKeyCertPair</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_streaming_handler.html">ServerStreamingHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1mutex.html">mutex</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_send_message.html">CallOpSendMessage</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_credentials.html">Credentials</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;R&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_server_writer.html">ServerWriter</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_recv_initial_metadata.html">CallOpRecvInitialMetadata</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_completion_queue_tag.html">CompletionQueueTag</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_reader_interface.html">ReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="structgrpc_1_1_ssl_server_credentials_options.html">SslServerCredentialsOptions</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_recv_message.html">CallOpRecvMessage</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_credentials.html">Credentials</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1string__ref.html">string_ref</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_send_initial_metadata.html">CallOpSendInitialMetadata</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_rpc_method_handler.html">RpcMethodHandler</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_stub_options.html">StubOptions</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_server_send_status.html">CallOpServerSendStatus</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;D&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classgrpc_1_1_server_1_1_shutdown_request.html">Server::ShutdownRequest</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_set.html">CallOpSet</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_reader_interface.html">ReaderInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_slice.html">Slice</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1thread.html">thread</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_set_interface.html">CallOpSetInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html">DeserializeFunc</a> (<a class="el" href="namespacegrpc_1_1_call_op_generic_recv_message_helper.html">grpc::CallOpGenericRecvMessageHelper</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_sneaky_call_op_set.html">SneakyCallOpSet</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_u"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;u&#160;&#160;</div></td></tr></table>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_send_message.html">CallOpSendMessage</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_rpc_service.html">RpcService</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_synchronous_service.html">SynchronousService</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_server_send_status.html">CallOpServerSendStatus</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html">DeserializeFunc</a> (<a class="el" href="namespacegrpc_1_1_call_op_generic_recv_message_helper.html">grpc::CallOpGenericRecvMessageHelper</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_rpc_service_method.html">RpcServiceMethod</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_server_1_1_sync_request.html">Server::SyncRequest</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1thread.html">thread</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td valign="top"><a class="el" href="classgrpc_1_1_call_op_set.html">CallOpSet</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html">DeserializeFuncType</a> (<a class="el" href="namespacegrpc_1_1_call_op_generic_recv_message_helper.html">grpc::CallOpGenericRecvMessageHelper</a>)&#160;&#160;&#160;</td><td rowspan="2" valign="bottom"><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;S&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_T"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;T&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_u"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;u&#160;&#160;</div></td></tr></table>
</td></tr>
<tr><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td valign="top"><a class="el" href="classgrpc_1_1unique__lock.html">unique_lock</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td></td><td></td></tr>
<tr><td></td><td></td><td valign="top"><a class="el" href="classgrpc_1_1_secure_auth_context.html">SecureAuthContext</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1_thread_pool_interface.html">ThreadPoolInterface</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classgrpc_1_1unique__lock.html">unique_lock</a> (<a class="el" href="namespacegrpc.html">grpc</a>)&#160;&#160;&#160;</td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a></div>
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_M">M</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a>&#160;|&#160;<a class="qindex" href="#letter_U">U</a>&#160;|&#160;<a class="qindex" href="#letter_W">W</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -201,13 +201,13 @@ Friends</h2></td></tr>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="async__generic__service_8h_source.html">async_generic_service.h</a></li>
<li>include/grpc++/generic/<a class="el" href="async__generic__service_8h_source.html">async_generic_service.h</a></li>
<li>src/cpp/server/<a class="el" href="async__generic__service_8cc.html">async_generic_service.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,21 +94,30 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>An interface that yields a sequence of messages of type <em>R</em>.
<a href="classgrpc_1_1_async_reader_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="async__stream_8h_source.html">async_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ac7845d2df90fb380008aadb7f5f2f379"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379">~AsyncReaderInterface</a> ()</td></tr>
<tr class="separator:ac7845d2df90fb380008aadb7f5f2f379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa644cf63c12ae8c9d5fda16a361f8a11"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11">Read</a> (R *msg, void *tag)=0</td></tr>
<tr class="memdesc:aa644cf63c12ae8c9d5fda16a361f8a11"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a message of type <em>R</em> into <em>msg</em>. <a href="#aa644cf63c12ae8c9d5fda16a361f8a11">More...</a><br/></td></tr>
<tr class="separator:aa644cf63c12ae8c9d5fda16a361f8a11"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class R&gt;<br/>
class grpc::AsyncReaderInterface&lt; R &gt;</h3>
<p>An interface that yields a sequence of messages of type <em>R</em>. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ac7845d2df90fb380008aadb7f5f2f379"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
template&lt;class R&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@ -134,7 +143,7 @@ template&lt;class R &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
template&lt;class R&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@ -164,17 +173,27 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a">grpc::ServerAsyncReaderWriter&lt; R, W &gt;</a>, <a class="el" href="classgrpc_1_1_server_async_reader.html#ac60c1f8d5373644f952377096f1a5b2f">grpc::ServerAsyncReader&lt; W, R &gt;</a>, <a class="el" href="classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f">grpc::ClientAsyncReaderWriter&lt; R, W &gt;</a>, and <a class="el" href="classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d">grpc::ClientAsyncReader&lt; R &gt;</a>.</p>
<p>Read a message of type <em>R</em> into <em>msg</em>. </p>
<p>Completion will be notified by <em>tag</em> on the associated completion queue.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">msg</td><td>Where to eventually store the read message. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a">grpc::ServerAsyncReaderWriter&lt; R, W &gt;</a>, <a class="el" href="classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a">grpc::ServerAsyncReaderWriter&lt; ByteBuffer, ByteBuffer &gt;</a>, <a class="el" href="classgrpc_1_1_server_async_reader.html#ac60c1f8d5373644f952377096f1a5b2f">grpc::ServerAsyncReader&lt; W, R &gt;</a>, <a class="el" href="classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f">grpc::ClientAsyncReaderWriter&lt; R, W &gt;</a>, and <a class="el" href="classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d">grpc::ClientAsyncReader&lt; R &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__stream_8h_source.html">async_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,21 +94,30 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>An interface that can be fed a sequence of messages of type <em>W</em>.
<a href="classgrpc_1_1_async_writer_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="async__stream_8h_source.html">async_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a94cc9e4ed13c8fe4a1d883d465477ddd"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd">~AsyncWriterInterface</a> ()</td></tr>
<tr class="separator:a94cc9e4ed13c8fe4a1d883d465477ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40c1091ac5cb5243c874da725ae291b4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4">Write</a> (const W &amp;msg, void *tag)=0</td></tr>
<tr class="memdesc:a40c1091ac5cb5243c874da725ae291b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the writing of <em>msg</em> with identifying tag <em>tag</em>. <a href="#a40c1091ac5cb5243c874da725ae291b4">More...</a><br/></td></tr>
<tr class="separator:a40c1091ac5cb5243c874da725ae291b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class W&gt;<br/>
class grpc::AsyncWriterInterface&lt; W &gt;</h3>
<p>An interface that can be fed a sequence of messages of type <em>W</em>. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a94cc9e4ed13c8fe4a1d883d465477ddd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W &gt; </div>
template&lt;class W&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@ -134,7 +143,7 @@ template&lt;class W &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W &gt; </div>
template&lt;class W&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@ -164,17 +173,26 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35">grpc::ServerAsyncReaderWriter&lt; R, W &gt;</a>, <a class="el" href="classgrpc_1_1_server_async_writer.html#a7027a65f3d84ff275b130cf9a0f170f5">grpc::ServerAsyncWriter&lt; W &gt;</a>, <a class="el" href="classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3">grpc::ClientAsyncReaderWriter&lt; R, W &gt;</a>, and <a class="el" href="classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a">grpc::ClientAsyncWriter&lt; W &gt;</a>.</p>
<p>Request the writing of <em>msg</em> with identifying tag <em>tag</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message to be written. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35">grpc::ServerAsyncReaderWriter&lt; R, W &gt;</a>, <a class="el" href="classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35">grpc::ServerAsyncReaderWriter&lt; ByteBuffer, ByteBuffer &gt;</a>, <a class="el" href="classgrpc_1_1_server_async_writer.html#a7027a65f3d84ff275b130cf9a0f170f5">grpc::ServerAsyncWriter&lt; W &gt;</a>, <a class="el" href="classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3">grpc::ClientAsyncReaderWriter&lt; R, W &gt;</a>, and <a class="el" href="classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a">grpc::ClientAsyncWriter&lt; W &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__stream_8h_source.html">async_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -457,7 +457,7 @@ template&lt;class Message &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -88,30 +88,60 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">grpc::AuthContext Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p>Class encapsulating the Authentication Information.
<a href="classgrpc_1_1_auth_context.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="auth__context_8h_source.html">auth_context.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3784c5f4eeab56a8524da29981548464"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464">~AuthContext</a> ()</td></tr>
<tr class="separator:a3784c5f4eeab56a8524da29981548464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f653509ddd988ce8fd4f22746fead9"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a94f653509ddd988ce8fd4f22746fead9">GetPeerIdentity</a> () const =0</td></tr>
<tr class="separator:a94f653509ddd988ce8fd4f22746fead9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1d6a5c7cd67694d1a485c4127eb63dc"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#af1d6a5c7cd67694d1a485c4127eb63dc">IsPeerAuthenticated</a> () const =0</td></tr>
<tr class="memdesc:af1d6a5c7cd67694d1a485c4127eb63dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the peer is authenticated. <a href="#af1d6a5c7cd67694d1a485c4127eb63dc">More...</a><br/></td></tr>
<tr class="separator:af1d6a5c7cd67694d1a485c4127eb63dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56a84468c1c3814a185cb6a2a3badf99"><td class="memItemLeft" align="right" valign="top">virtual std::vector<br class="typebreak"/>
&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a56a84468c1c3814a185cb6a2a3badf99">GetPeerIdentity</a> () const =0</td></tr>
<tr class="memdesc:a56a84468c1c3814a185cb6a2a3badf99"><td class="mdescLeft">&#160;</td><td class="mdescRight">A peer identity. <a href="#a56a84468c1c3814a185cb6a2a3badf99">More...</a><br/></td></tr>
<tr class="separator:a56a84468c1c3814a185cb6a2a3badf99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7b2e589590246b953decd05cdaa4465"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#ad7b2e589590246b953decd05cdaa4465">GetPeerIdentityPropertyName</a> () const =0</td></tr>
<tr class="separator:ad7b2e589590246b953decd05cdaa4465"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad34c79f4934c974aa9e77ca69eed82aa"><td class="memItemLeft" align="right" valign="top">virtual std::vector&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#ad34c79f4934c974aa9e77ca69eed82aa">FindPropertyValues</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;name) const =0</td></tr>
<tr class="separator:ad34c79f4934c974aa9e77ca69eed82aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac32b53377f8b7e44328f791f44bd6732"><td class="memItemLeft" align="right" valign="top">virtual std::vector<br class="typebreak"/>
&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#ac32b53377f8b7e44328f791f44bd6732">FindPropertyValues</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;name) const =0</td></tr>
<tr class="memdesc:ac32b53377f8b7e44328f791f44bd6732"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all the property values with the given name. <a href="#ac32b53377f8b7e44328f791f44bd6732">More...</a><br/></td></tr>
<tr class="separator:ac32b53377f8b7e44328f791f44bd6732"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a4a9e18e05e1a06cf25b8a77edd8c89"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89">begin</a> () const =0</td></tr>
<tr class="memdesc:a4a4a9e18e05e1a06cf25b8a77edd8c89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iteration over all the properties. <a href="#a4a4a9e18e05e1a06cf25b8a77edd8c89">More...</a><br/></td></tr>
<tr class="separator:a4a4a9e18e05e1a06cf25b8a77edd8c89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81d358b427e0f1096e148918cdeef991"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a81d358b427e0f1096e148918cdeef991">end</a> () const =0</td></tr>
<tr class="separator:a81d358b427e0f1096e148918cdeef991"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add9dbb40b1a822f683a7ebad71e774f2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#add9dbb40b1a822f683a7ebad71e774f2">AddProperty</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;key, const <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &amp;value)=0</td></tr>
<tr class="separator:add9dbb40b1a822f683a7ebad71e774f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a218158a0698137b9c5d6fff0c8054cc4"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a218158a0698137b9c5d6fff0c8054cc4">SetPeerIdentityPropertyName</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;name)=0</td></tr>
<tr class="separator:a218158a0698137b9c5d6fff0c8054cc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aea2b8bbca62cd5dd959a7259b333937c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#aea2b8bbca62cd5dd959a7259b333937c">transport_security_type_property_name</a> ()</td></tr>
<tr class="separator:aea2b8bbca62cd5dd959a7259b333937c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9930aeaa826dad849ddea192a2393df9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a9930aeaa826dad849ddea192a2393df9">ssl_transport_security_type</a> ()</td></tr>
<tr class="separator:a9930aeaa826dad849ddea192a2393df9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c92f7ec00da2bf58de56a1b5983b296"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a5c92f7ec00da2bf58de56a1b5983b296">x509_cn_property_name</a> ()</td></tr>
<tr class="separator:a5c92f7ec00da2bf58de56a1b5983b296"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac78faedce700883d917c37990c1746de"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#ac78faedce700883d917c37990c1746de">x509_san_property_name</a> ()</td></tr>
<tr class="separator:ac78faedce700883d917c37990c1746de"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Class encapsulating the Authentication Information. </p>
<p>It includes the secure identity of the peer, the type of secure transport used as well as any other properties required by the authorization layer. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3784c5f4eeab56a8524da29981548464"></a>
<div class="memitem">
<div class="memproto">
@ -136,6 +166,42 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="add9dbb40b1a822f683a7ebad71e774f2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void grpc::AuthContext::AddProperty </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_auth_context.html#a85bcca5c9f4d270dffce1f0807be2140">grpc::SecureAuthContext</a>.</p>
</div>
</div>
<a class="anchor" id="a4a4a9e18e05e1a06cf25b8a77edd8c89"></a>
<div class="memitem">
<div class="memproto">
@ -157,6 +223,8 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Iteration over all the properties. </p>
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_auth_context.html#a397366aa80dc3b213a97a9210fa34671">grpc::SecureAuthContext</a>.</p>
</div>
@ -186,7 +254,7 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="ad34c79f4934c974aa9e77ca69eed82aa"></a>
<a class="anchor" id="ac32b53377f8b7e44328f791f44bd6732"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -194,7 +262,7 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt;<a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&gt; grpc::AuthContext::FindPropertyValues </td>
<td class="memname">virtual std::vector&lt;<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>&gt; grpc::AuthContext::FindPropertyValues </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
@ -208,11 +276,13 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_auth_context.html#a980da034327f6706944f334f95d7f96c">grpc::SecureAuthContext</a>.</p>
<p>Returns all the property values with the given name. </p>
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_auth_context.html#a620ec54d5938d022d64afc314fcd0c78">grpc::SecureAuthContext</a>.</p>
</div>
</div>
<a class="anchor" id="a94f653509ddd988ce8fd4f22746fead9"></a>
<a class="anchor" id="a56a84468c1c3814a185cb6a2a3badf99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -220,7 +290,7 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt;<a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&gt; grpc::AuthContext::GetPeerIdentity </td>
<td class="memname">virtual std::vector&lt;<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>&gt; grpc::AuthContext::GetPeerIdentity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -233,7 +303,10 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_auth_context.html#a1bfd2588633e41a1aeaa098a734266b2">grpc::SecureAuthContext</a>.</p>
<p>A peer identity. </p>
<p>It is, in general, comprised of one or more properties (in which case they have the same name). </p>
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_auth_context.html#adf49b3a80bd972bca26565387694bece">grpc::SecureAuthContext</a>.</p>
</div>
</div>
@ -260,15 +333,160 @@ Public Member Functions</h2></td></tr>
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_auth_context.html#ae2788f289ec4b42eb57efeb8a203170b">grpc::SecureAuthContext</a>.</p>
</div>
</div>
<a class="anchor" id="af1d6a5c7cd67694d1a485c4127eb63dc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool grpc::AuthContext::IsPeerAuthenticated </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the peer is authenticated. </p>
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_auth_context.html#a975f73255b1419029efacc0353345007">grpc::SecureAuthContext</a>.</p>
</div>
</div>
<a class="anchor" id="a218158a0698137b9c5d6fff0c8054cc4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool grpc::AuthContext::SetPeerIdentityPropertyName </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_auth_context.html#a8581c1a3b15b2b64d9eb59095b2749d4">grpc::SecureAuthContext</a>.</p>
</div>
</div>
<a class="anchor" id="a9930aeaa826dad849ddea192a2393df9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a> grpc::AuthContext::ssl_transport_security_type </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aea2b8bbca62cd5dd959a7259b333937c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a> grpc::AuthContext::transport_security_type_property_name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5c92f7ec00da2bf58de56a1b5983b296"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a> grpc::AuthContext::x509_cn_property_name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac78faedce700883d917c37990c1746de"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a> grpc::AuthContext::x509_san_property_name </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="auth__context_8h_source.html">auth_context.h</a></li>
<li>include/grpc++/security/<a class="el" href="auth__context_8h_source.html">auth_context.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: grpc::ChannelInterface Class Reference</title>
<title>GRPC C++: grpc::AuthMetadataProcessor Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -83,35 +83,67 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a></li> </ul>
<li class="navelem"><a class="el" href="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html">AuthMetadataProcessor</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">grpc::ChannelInterface Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
<div class="title">grpc::AuthMetadataProcessor Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="channel__interface_8h_source.html">channel_interface.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="auth__metadata__processor_8h_source.html">auth_metadata_processor.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a0c5846f57c862880f0f6db29577bb9e5"><td class="memItemLeft" align="right" valign="top">typedef std::multimap<br class="typebreak"/>
&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <br class="typebreak"/>
<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html#a0c5846f57c862880f0f6db29577bb9e5">InputMetadata</a></td></tr>
<tr class="separator:a0c5846f57c862880f0f6db29577bb9e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab66ac71de37c4aa115b6cb7a0b0d4f53"><td class="memItemLeft" align="right" valign="top">typedef std::multimap<br class="typebreak"/>
&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <br class="typebreak"/>
<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">OutputMetadata</a></td></tr>
<tr class="separator:ab66ac71de37c4aa115b6cb7a0b0d4f53"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3f5145d4778aa952540dc9983cefe13f"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_interface.html#a3f5145d4778aa952540dc9983cefe13f">~ChannelInterface</a> ()</td></tr>
<tr class="separator:a3f5145d4778aa952540dc9983cefe13f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a267926300784051328390b2f7648c99f"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_interface.html#a267926300784051328390b2f7648c99f">RegisterMethod</a> (const char *method_name)=0</td></tr>
<tr class="separator:a267926300784051328390b2f7648c99f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fd365d30961e8e40805a3c8faf276d0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgrpc_1_1_call.html">Call</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_interface.html#a9fd365d30961e8e40805a3c8faf276d0">CreateCall</a> (const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq)=0</td></tr>
<tr class="separator:a9fd365d30961e8e40805a3c8faf276d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_call_hook"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_call_hook')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_call_hook.html">grpc::CallHook</a></td></tr>
<tr class="memitem:a4aa1cf199f80f6475c6da0ad679c5d9d inherit pub_methods_classgrpc_1_1_call_hook"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_call_hook.html#a4aa1cf199f80f6475c6da0ad679c5d9d">~CallHook</a> ()</td></tr>
<tr class="separator:a4aa1cf199f80f6475c6da0ad679c5d9d inherit pub_methods_classgrpc_1_1_call_hook"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf08b6dd7d1faba4efeeb4937bc81d29 inherit pub_methods_classgrpc_1_1_call_hook"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_call_hook.html#acf08b6dd7d1faba4efeeb4937bc81d29">PerformOpsOnCall</a> (<a class="el" href="classgrpc_1_1_call_op_set_interface.html">CallOpSetInterface</a> *ops, <a class="el" href="classgrpc_1_1_call.html">Call</a> *call)=0</td></tr>
<tr class="separator:acf08b6dd7d1faba4efeeb4937bc81d29 inherit pub_methods_classgrpc_1_1_call_hook"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae64e2159109378600eb17f613ec4bbeb"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html#ae64e2159109378600eb17f613ec4bbeb">~AuthMetadataProcessor</a> ()</td></tr>
<tr class="separator:ae64e2159109378600eb17f613ec4bbeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cfe6ac34d5a25f14a5528462077243c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html#a6cfe6ac34d5a25f14a5528462077243c">IsBlocking</a> () const </td></tr>
<tr class="separator:a6cfe6ac34d5a25f14a5528462077243c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc0db66aa261c59bd29f81c53f466303"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html#adc0db66aa261c59bd29f81c53f466303">Process</a> (const <a class="el" href="classgrpc_1_1_auth_metadata_processor.html#a0c5846f57c862880f0f6db29577bb9e5">InputMetadata</a> &amp;auth_metadata, <a class="el" href="classgrpc_1_1_auth_context.html">AuthContext</a> *context, <a class="el" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">OutputMetadata</a> *consumed_auth_metadata, <a class="el" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">OutputMetadata</a> *response_metadata)=0</td></tr>
<tr class="separator:adc0db66aa261c59bd29f81c53f466303"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a0c5846f57c862880f0f6db29577bb9e5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::multimap&lt;<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>&gt; <a class="el" href="classgrpc_1_1_auth_metadata_processor.html#a0c5846f57c862880f0f6db29577bb9e5">grpc::AuthMetadataProcessor::InputMetadata</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab66ac71de37c4aa115b6cb7a0b0d4f53"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef std::multimap&lt;<a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>&gt; <a class="el" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">grpc::AuthMetadataProcessor::OutputMetadata</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3f5145d4778aa952540dc9983cefe13f"></a>
<a class="anchor" id="ae64e2159109378600eb17f613ec4bbeb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -119,7 +151,7 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual grpc::ChannelInterface::~ChannelInterface </td>
<td class="memname">virtual grpc::AuthMetadataProcessor::~AuthMetadataProcessor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@ -135,7 +167,7 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a9fd365d30961e8e40805a3c8faf276d0"></a>
<a class="anchor" id="a6cfe6ac34d5a25f14a5528462077243c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -143,41 +175,22 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classgrpc_1_1_call.html">Call</a> grpc::ChannelInterface::CreateCall </td>
<td class="memname">virtual bool grpc::AuthMetadataProcessor::IsBlocking </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;&#160;</td>
<td class="paramname"><em>method</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *&#160;</td>
<td class="paramname"><em>cq</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_channel.html#a1eba522535fdc85a69efd3e2fc400e09">grpc::Channel</a>.</p>
</div>
</div>
<a class="anchor" id="a267926300784051328390b2f7648c99f"></a>
<a class="anchor" id="adc0db66aa261c59bd29f81c53f466303"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -185,11 +198,33 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void* grpc::ChannelInterface::RegisterMethod </td>
<td class="memname">virtual <a class="el" href="classgrpc_1_1_status.html">Status</a> grpc::AuthMetadataProcessor::Process </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>method_name</em></td><td>)</td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_auth_metadata_processor.html#a0c5846f57c862880f0f6db29577bb9e5">InputMetadata</a> &amp;&#160;</td>
<td class="paramname"><em>auth_metadata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_auth_context.html">AuthContext</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">OutputMetadata</a> *&#160;</td>
<td class="paramname"><em>consumed_auth_metadata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_auth_metadata_processor.html#ab66ac71de37c4aa115b6cb7a0b0d4f53">OutputMetadata</a> *&#160;</td>
<td class="paramname"><em>response_metadata</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
@ -199,17 +234,15 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_channel.html#a9f4af1b920ae0f381415cd62f9301001">grpc::Channel</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="channel__interface_8h_source.html">channel_interface.h</a></li>
<li>include/grpc++/security/<a class="el" href="auth__metadata__processor_8h_source.html">auth_metadata_processor.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -4,7 +4,7 @@
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: grpc::InternalStub Class Reference</title>
<title>GRPC C++: grpc::AuthMetadataProcessorAyncWrapper Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -83,30 +83,34 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="classgrpc_1_1_internal_stub.html">InternalStub</a></li> </ul>
<li class="navelem"><a class="el" href="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="classgrpc_1_1_auth_metadata_processor_aync_wrapper.html">AuthMetadataProcessorAyncWrapper</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">grpc::InternalStub Class Reference</div> </div>
<div class="title">grpc::AuthMetadataProcessorAyncWrapper Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="internal__stub_8h_source.html">internal_stub.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="secure__server__credentials_8h_source.html">secure_server_credentials.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5af6cf82c3f8218d94704226559e1b3c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_internal_stub.html#a5af6cf82c3f8218d94704226559e1b3c">InternalStub</a> (const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> &gt; &amp;<a class="el" href="classgrpc_1_1_internal_stub.html#ae314e47d92a7aed9779724d3a81c2729">channel</a>)</td></tr>
<tr class="separator:a5af6cf82c3f8218d94704226559e1b3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43127d606386366f5935c08a21da059e"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_internal_stub.html#a43127d606386366f5935c08a21da059e">~InternalStub</a> ()</td></tr>
<tr class="separator:a43127d606386366f5935c08a21da059e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae314e47d92a7aed9779724d3a81c2729"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_internal_stub.html#ae314e47d92a7aed9779724d3a81c2729">channel</a> ()</td></tr>
<tr class="separator:ae314e47d92a7aed9779724d3a81c2729"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5bdbb6d3c1c220f2d260b673308f878"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_metadata_processor_aync_wrapper.html#ae5bdbb6d3c1c220f2d260b673308f878">AuthMetadataProcessorAyncWrapper</a> (const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_auth_metadata_processor.html">AuthMetadataProcessor</a> &gt; &amp;processor)</td></tr>
<tr class="separator:ae5bdbb6d3c1c220f2d260b673308f878"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a3e047c0a18c0fad61ce26549fbb94cd2"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_metadata_processor_aync_wrapper.html#a3e047c0a18c0fad61ce26549fbb94cd2">Destroy</a> (void *wrapper)</td></tr>
<tr class="separator:a3e047c0a18c0fad61ce26549fbb94cd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a769b6f2f4679ce9a6e9f027d85ad26d1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_metadata_processor_aync_wrapper.html#a769b6f2f4679ce9a6e9f027d85ad26d1">Process</a> (void *wrapper, grpc_auth_context *context, const grpc_metadata *md, size_t num_md, grpc_process_auth_metadata_done_cb cb, void *user_data)</td></tr>
<tr class="separator:a769b6f2f4679ce9a6e9f027d85ad26d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a5af6cf82c3f8218d94704226559e1b3c"></a>
<a class="anchor" id="ae5bdbb6d3c1c220f2d260b673308f878"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -114,10 +118,10 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::InternalStub::InternalStub </td>
<td class="memname">grpc::AuthMetadataProcessorAyncWrapper::AuthMetadataProcessorAyncWrapper </td>
<td>(</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>channel</em></td><td>)</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_auth_metadata_processor.html">AuthMetadataProcessor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>processor</em></td><td>)</td>
<td></td>
</tr>
</table>
@ -130,7 +134,8 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a43127d606386366f5935c08a21da059e"></a>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a3e047c0a18c0fad61ce26549fbb94cd2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -138,23 +143,23 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual grpc::InternalStub::~InternalStub </td>
<td class="memname">void grpc::AuthMetadataProcessorAyncWrapper::Destroy </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>wrapper</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ae314e47d92a7aed9779724d3a81c2729"></a>
<a class="anchor" id="a769b6f2f4679ce9a6e9f027d85ad26d1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -162,28 +167,64 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a>* grpc::InternalStub::channel </td>
<td class="memname">void grpc::AuthMetadataProcessorAyncWrapper::Process </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>wrapper</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">grpc_auth_context *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const grpc_metadata *&#160;</td>
<td class="paramname"><em>md</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>num_md</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">grpc_process_auth_metadata_done_cb&#160;</td>
<td class="paramname"><em>cb</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>user_data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/impl/<a class="el" href="internal__stub_8h_source.html">internal_stub.h</a></li>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/cpp/server/<a class="el" href="secure__server__credentials_8h_source.html">secure_server_credentials.h</a></li>
<li>src/cpp/server/<a class="el" href="secure__server__credentials_8cc.html">secure_server_credentials.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -96,7 +96,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="auth__property__iterator_8h_source.html">auth_property_iterator.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="auth__context_8h_source.html">auth_context.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
@ -110,7 +110,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ab5ab6a2c9a4df2b02086513716553dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3d2671fe70be36b2ed26a75874f2fc1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_property_iterator.html#af3d2671fe70be36b2ed26a75874f2fc1">operator!=</a> (const <a class="el" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a> &amp;rhs) const </td></tr>
<tr class="separator:af3d2671fe70be36b2ed26a75874f2fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a564f39b91f4168c6f660bbd3144f1f0e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacegrpc.html#a8e3a499d0002aae3afd1cae08f44a9ee">AuthProperty</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_property_iterator.html#a564f39b91f4168c6f660bbd3144f1f0e">operator*</a> ()</td></tr>
<tr class="memitem:a564f39b91f4168c6f660bbd3144f1f0e"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespacegrpc.html#a3a61e9fd24c9d1cea5eaaabc58525d0e">AuthProperty</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_property_iterator.html#a564f39b91f4168c6f660bbd3144f1f0e">operator*</a> ()</td></tr>
<tr class="separator:a564f39b91f4168c6f660bbd3144f1f0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
@ -220,7 +220,7 @@ Friends</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="namespacegrpc.html#a8e3a499d0002aae3afd1cae08f44a9ee">AuthProperty</a> grpc::AuthPropertyIterator::operator* </td>
<td class="memname">const <a class="el" href="namespacegrpc.html#a3a61e9fd24c9d1cea5eaaabc58525d0e">AuthProperty</a> grpc::AuthPropertyIterator::operator* </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@ -299,13 +299,13 @@ Friends</h2></td></tr>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="auth__property__iterator_8h_source.html">auth_property_iterator.h</a></li>
<li>include/grpc++/security/<a class="el" href="auth__context_8h_source.html">auth_context.h</a></li>
<li>src/cpp/common/<a class="el" href="auth__property__iterator_8cc.html">auth_property_iterator.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -179,7 +179,7 @@ template&lt;class ServiceType , class RequestType , class ResponseType &gt; </di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -95,21 +95,29 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p>A sequence of bytes.
<a href="classgrpc_1_1_byte_buffer.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="byte__buffer_8h_source.html">byte_buffer.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa3037355cbd37dce99c97e5c3700a76b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b">ByteBuffer</a> ()</td></tr>
<tr class="memdesc:aa3037355cbd37dce99c97e5c3700a76b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constuct an empty buffer. <a href="#aa3037355cbd37dce99c97e5c3700a76b">More...</a><br/></td></tr>
<tr class="separator:aa3037355cbd37dce99c97e5c3700a76b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1f69f81c3cb03c61b544a0222e83004"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#aa1f69f81c3cb03c61b544a0222e83004">ByteBuffer</a> (const <a class="el" href="classgrpc_1_1_slice.html">Slice</a> *slices, size_t nslices)</td></tr>
<tr class="memdesc:aa1f69f81c3cb03c61b544a0222e83004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct buffer from <em>slices</em>, of which there are <em>nslices</em>. <a href="#aa1f69f81c3cb03c61b544a0222e83004">More...</a><br/></td></tr>
<tr class="separator:aa1f69f81c3cb03c61b544a0222e83004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb5dd0045ed262de06481465326bd64a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a">~ByteBuffer</a> ()</td></tr>
<tr class="separator:aeb5dd0045ed262de06481465326bd64a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b284d25c0c3c594c386800c548048f1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a1b284d25c0c3c594c386800c548048f1">Dump</a> (std::vector&lt; <a class="el" href="classgrpc_1_1_slice.html">Slice</a> &gt; *slices) const </td></tr>
<tr class="memdesc:a1b284d25c0c3c594c386800c548048f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump (read) the buffer contents into <em>slices</em>. <a href="#a1b284d25c0c3c594c386800c548048f1">More...</a><br/></td></tr>
<tr class="separator:a1b284d25c0c3c594c386800c548048f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a185b593e5c7d2b888fa377989a6bae80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80">Clear</a> ()</td></tr>
<tr class="memdesc:a185b593e5c7d2b888fa377989a6bae80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all data. <a href="#a185b593e5c7d2b888fa377989a6bae80">More...</a><br/></td></tr>
<tr class="separator:a185b593e5c7d2b888fa377989a6bae80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9429e928982f8d94ff93a1a91032ad59"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#a9429e928982f8d94ff93a1a91032ad59">Length</a> () const </td></tr>
<tr class="memdesc:a9429e928982f8d94ff93a1a91032ad59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer size in bytes. <a href="#a9429e928982f8d94ff93a1a91032ad59">More...</a><br/></td></tr>
<tr class="separator:a9429e928982f8d94ff93a1a91032ad59"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
@ -117,7 +125,9 @@ Friends</h2></td></tr>
<tr class="memitem:ab90fe50537dd6fe009b7b913652420f0"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_byte_buffer.html#ab90fe50537dd6fe009b7b913652420f0">SerializationTraits&lt; ByteBuffer, void &gt;</a></td></tr>
<tr class="separator:ab90fe50537dd6fe009b7b913652420f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A sequence of bytes. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa3037355cbd37dce99c97e5c3700a76b"></a>
<div class="memitem">
<div class="memproto">
@ -139,6 +149,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Constuct an empty buffer. </p>
</div>
</div>
<a class="anchor" id="aa1f69f81c3cb03c61b544a0222e83004"></a>
@ -165,14 +177,13 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Construct buffer from <em>slices</em>, of which there are <em>nslices</em>. </p>
</div>
</div>
<a class="anchor" id="aeb5dd0045ed262de06481465326bd64a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::ByteBuffer::~ByteBuffer </td>
@ -181,11 +192,6 @@ Friends</h2></td></tr>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
@ -204,6 +210,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Remove all data. </p>
</div>
</div>
<a class="anchor" id="a1b284d25c0c3c594c386800c548048f1"></a>
@ -220,6 +228,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Dump (read) the buffer contents into <em>slices</em>. </p>
</div>
</div>
<a class="anchor" id="a9429e928982f8d94ff93a1a91032ad59"></a>
@ -235,6 +245,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Buffer size in bytes. </p>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
@ -259,13 +271,13 @@ Friends</h2></td></tr>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="byte__buffer_8h_source.html">byte_buffer.h</a></li>
<li>include/grpc++/support/<a class="el" href="byte__buffer_8h_source.html">byte_buffer.h</a></li>
<li>src/cpp/util/<a class="el" href="byte__buffer_8cc.html">byte_buffer.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -275,7 +275,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -160,8 +160,6 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_channel.html#a2c6a3cb1c87c457fb0562e17df304ec3">grpc::Channel</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
@ -170,7 +168,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -191,7 +191,7 @@ template&lt;int I&gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -244,7 +244,7 @@ Protected Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -233,7 +233,7 @@ Protected Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -256,7 +256,7 @@ template&lt;class R &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -144,7 +144,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -175,7 +175,7 @@ template&lt;class R &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -234,7 +234,7 @@ Protected Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -122,7 +122,7 @@ Protected Member Functions</h2></td></tr>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
template&lt;class R&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@ -148,7 +148,7 @@ template&lt;class R &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
template&lt;class R&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@ -184,7 +184,7 @@ template&lt;class R &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
template&lt;class R&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@ -220,7 +220,7 @@ template&lt;class R &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
template&lt;class R&gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
@ -247,7 +247,7 @@ template&lt;class R &gt; </div>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
template&lt;class R&gt; </div>
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="classgrpc_1_1_call_op_recv_message.html">grpc::CallOpRecvMessage</a>&lt; R &gt;::got_message</td>
@ -263,7 +263,7 @@ template&lt;class R &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -305,7 +305,7 @@ Protected Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -264,7 +264,7 @@ template&lt;class M &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -244,7 +244,7 @@ Protected Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -234,7 +234,7 @@ template&lt;class Op1 = CallNoOp&lt;1&gt;, class Op2 = CallNoOp&lt;2&gt;, class
<p>Implements <a class="el" href="classgrpc_1_1_completion_queue_tag.html#af7b1abfcd9e506d118dfdcf29ce7fe8d">grpc::CompletionQueueTag</a>.</p>
<p>Reimplemented in <a class="el" href="classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd">grpc::SneakyCallOpSet&lt; Op1, Op2, Op3, Op4, Op5, Op6 &gt;</a>, and <a class="el" href="classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd">grpc::SneakyCallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose &gt;</a>.</p>
<p>Reimplemented in <a class="el" href="classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd">grpc::SneakyCallOpSet&lt; Op1, Op2, Op3, Op4, Op5, Op6 &gt;</a>, <a class="el" href="classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd">grpc::SneakyCallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose &gt;</a>, and <a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_response.html#a144bc68c1da350faa5349c15801577e6">grpc::Server::UnimplementedAsyncResponse</a>.</p>
</div>
</div>
@ -270,7 +270,7 @@ template&lt;class Op1 = CallNoOp&lt;1&gt;, class Op2 = CallNoOp&lt;2&gt;, class
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -95,7 +95,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p>An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a <a class="el" href="classgrpc_1_1_completion_queue_tag.html">CompletionQueueTag</a>, also massages the final completion into the correct form for consumption in the C++ API.
<p>An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a <a class="el" href="classgrpc_1_1_completion_queue_tag.html" title="An interface allowing implementors to process and filter event tags. ">CompletionQueueTag</a>, also massages the final completion into the correct form for consumption in the C++ API.
<a href="classgrpc_1_1_call_op_set_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="call_8h_source.html">call.h</a>&gt;</code></p>
@ -121,7 +121,7 @@ Protected Attributes</h2></td></tr>
<tr class="separator:a06354e63efdbbd34fa18270490aaabbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a <a class="el" href="classgrpc_1_1_completion_queue_tag.html">CompletionQueueTag</a>, also massages the final completion into the correct form for consumption in the C++ API. </p>
<div class="textblock"><p>An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a <a class="el" href="classgrpc_1_1_completion_queue_tag.html" title="An interface allowing implementors to process and filter event tags. ">CompletionQueueTag</a>, also massages the final completion into the correct form for consumption in the C++ API. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad331a10c0fd65f5a9db680e95682f000"></a>
<div class="memitem">
@ -181,7 +181,7 @@ Protected Attributes</h2></td></tr>
<p>Fills in grpc_op, starting from ops[*nops] and moving upwards. </p>
<p>Implemented in <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; Op1, Op2, Op3, Op4, Op5, Op6 &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage&lt; R &gt;, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpServerSendStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpServerSendStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendMessage &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose, CallNoOp&lt; 4 &gt;, CallNoOp&lt; 5 &gt;, CallNoOp&lt; 6 &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvMessage&lt; R &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage&lt; R &gt; &gt;</a>, and <a class="el" href="classgrpc_1_1_server_context_1_1_completion_op.html#ad2c4895e848880c7df1b11832cdc8546">grpc::ServerContext::CompletionOp</a>.</p>
<p>Implemented in <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; Op1, Op2, Op3, Op4, Op5, Op6 &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage&lt; R &gt;, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpServerSendStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpServerSendStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvMessage&lt; ByteBuffer &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendMessage &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose, CallNoOp&lt; 4 &gt;, CallNoOp&lt; 5 &gt;, CallNoOp&lt; 6 &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvMessage&lt; R &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage&lt; R &gt; &gt;</a>, and <a class="el" href="classgrpc_1_1_server_context_1_1_completion_op.html#ad2c4895e848880c7df1b11832cdc8546">grpc::ServerContext::CompletionOp</a>.</p>
</div>
</div>
@ -236,7 +236,7 @@ Protected Attributes</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -88,80 +88,182 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">grpc::Channel Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Channels represent a connection to an endpoint. Created by <em>CreateChannel</em>.
<a href="classgrpc_1_1_channel.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="channel_8h_source.html">channel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab5ae726213995c9859d8e736e3090189"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#ab5ae726213995c9859d8e736e3090189">Channel</a> (grpc_channel *c_channel)</td></tr>
<tr class="separator:ab5ae726213995c9859d8e736e3090189"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22e7e491d79f4b4703e7d840cb9b443e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a22e7e491d79f4b4703e7d840cb9b443e">Channel</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;host, grpc_channel *c_channel)</td></tr>
<tr class="separator:a22e7e491d79f4b4703e7d840cb9b443e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a328cc15191befeead2e67c505172fdc1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a328cc15191befeead2e67c505172fdc1">~Channel</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a328cc15191befeead2e67c505172fdc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f4af1b920ae0f381415cd62f9301001"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a9f4af1b920ae0f381415cd62f9301001">RegisterMethod</a> (const char *method) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a9f4af1b920ae0f381415cd62f9301001"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1eba522535fdc85a69efd3e2fc400e09"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgrpc_1_1_call.html">Call</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a1eba522535fdc85a69efd3e2fc400e09">CreateCall</a> (const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a1eba522535fdc85a69efd3e2fc400e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c6a3cb1c87c457fb0562e17df304ec3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a2c6a3cb1c87c457fb0562e17df304ec3">PerformOpsOnCall</a> (<a class="el" href="classgrpc_1_1_call_op_set_interface.html">CallOpSetInterface</a> *ops, <a class="el" href="classgrpc_1_1_call.html">Call</a> *call) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a2c6a3cb1c87c457fb0562e17df304ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af12754677a599351077d6f68cc0c9159"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#af12754677a599351077d6f68cc0c9159">~Channel</a> ()</td></tr>
<tr class="separator:af12754677a599351077d6f68cc0c9159"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3070c1bf22839a01d80db4dfb7199c81"><td class="memItemLeft" align="right" valign="top">grpc_connectivity_state&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a3070c1bf22839a01d80db4dfb7199c81">GetState</a> (bool try_to_connect)</td></tr>
<tr class="memdesc:a3070c1bf22839a01d80db4dfb7199c81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current channel state. <a href="#a3070c1bf22839a01d80db4dfb7199c81">More...</a><br/></td></tr>
<tr class="separator:a3070c1bf22839a01d80db4dfb7199c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90afcb9ab2a6893632987ab925168929"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a90afcb9ab2a6893632987ab925168929"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a90afcb9ab2a6893632987ab925168929">NotifyOnStateChange</a> (grpc_connectivity_state last_observed, T deadline, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, void *tag)</td></tr>
<tr class="memdesc:a90afcb9ab2a6893632987ab925168929"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <em>tag</em> on <em>cq</em> when the channel state is changed or <em>deadline</em> expires. <a href="#a90afcb9ab2a6893632987ab925168929">More...</a><br/></td></tr>
<tr class="separator:a90afcb9ab2a6893632987ab925168929"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c54940cb0c353033cb86a004b1fa338"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a4c54940cb0c353033cb86a004b1fa338"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a4c54940cb0c353033cb86a004b1fa338">WaitForStateChange</a> (grpc_connectivity_state last_observed, T deadline)</td></tr>
<tr class="memdesc:a4c54940cb0c353033cb86a004b1fa338"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking wait for channel state change or <em>deadline</em> expiration. <a href="#a4c54940cb0c353033cb86a004b1fa338">More...</a><br/></td></tr>
<tr class="separator:a4c54940cb0c353033cb86a004b1fa338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_grpc_library"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_grpc_library')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_grpc_library.html">grpc::GrpcLibrary</a></td></tr>
<tr class="memitem:af026f86430cf235d7eaf532231a44528 inherit pub_methods_classgrpc_1_1_grpc_library"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_grpc_library.html#af026f86430cf235d7eaf532231a44528">GrpcLibrary</a> ()</td></tr>
<tr class="separator:af026f86430cf235d7eaf532231a44528 inherit pub_methods_classgrpc_1_1_grpc_library"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadb2fbc794175c8c4578bf283b009a8 inherit pub_methods_classgrpc_1_1_grpc_library"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_grpc_library.html#adadb2fbc794175c8c4578bf283b009a8">~GrpcLibrary</a> ()</td></tr>
<tr class="separator:adadb2fbc794175c8c4578bf283b009a8 inherit pub_methods_classgrpc_1_1_grpc_library"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_channel_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_channel_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_channel_interface.html">grpc::ChannelInterface</a></td></tr>
<tr class="memitem:a3f5145d4778aa952540dc9983cefe13f inherit pub_methods_classgrpc_1_1_channel_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_interface.html#a3f5145d4778aa952540dc9983cefe13f">~ChannelInterface</a> ()</td></tr>
<tr class="separator:a3f5145d4778aa952540dc9983cefe13f inherit pub_methods_classgrpc_1_1_channel_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_call_hook"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_call_hook')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_call_hook.html">grpc::CallHook</a></td></tr>
<tr class="memitem:a4aa1cf199f80f6475c6da0ad679c5d9d inherit pub_methods_classgrpc_1_1_call_hook"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_call_hook.html#a4aa1cf199f80f6475c6da0ad679c5d9d">~CallHook</a> ()</td></tr>
<tr class="separator:a4aa1cf199f80f6475c6da0ad679c5d9d inherit pub_methods_classgrpc_1_1_call_hook"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ade499098cc91745c1c87147d7a7fb7bf"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:ade499098cc91745c1c87147d7a7fb7bf"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#ade499098cc91745c1c87147d7a7fb7bf">::grpc::ClientReader</a></td></tr>
<tr class="separator:ade499098cc91745c1c87147d7a7fb7bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4498fada67d531d99a8642f47d746544"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:a4498fada67d531d99a8642f47d746544"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a4498fada67d531d99a8642f47d746544">::grpc::ClientWriter</a></td></tr>
<tr class="separator:a4498fada67d531d99a8642f47d746544"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d5659aa24edba057895be774e2752ec"><td class="memTemplParams" colspan="2">template&lt;class R , class W &gt; </td></tr>
<tr class="memitem:a6d5659aa24edba057895be774e2752ec"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a6d5659aa24edba057895be774e2752ec">::grpc::ClientReaderWriter</a></td></tr>
<tr class="separator:a6d5659aa24edba057895be774e2752ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5343062a44a5633b144751e59969237"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:af5343062a44a5633b144751e59969237"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#af5343062a44a5633b144751e59969237">::grpc::ClientAsyncReader</a></td></tr>
<tr class="separator:af5343062a44a5633b144751e59969237"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3547958eadfaeb18692865bd73999ad"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:af3547958eadfaeb18692865bd73999ad"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#af3547958eadfaeb18692865bd73999ad">::grpc::ClientAsyncWriter</a></td></tr>
<tr class="separator:af3547958eadfaeb18692865bd73999ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c0c96957129933bfe94a299c764eaa7"><td class="memTemplParams" colspan="2">template&lt;class R , class W &gt; </td></tr>
<tr class="memitem:a5c0c96957129933bfe94a299c764eaa7"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a5c0c96957129933bfe94a299c764eaa7">::grpc::ClientAsyncReaderWriter</a></td></tr>
<tr class="separator:a5c0c96957129933bfe94a299c764eaa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b00162a9bd86e07669f2af67f85c73a"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a4b00162a9bd86e07669f2af67f85c73a"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a4b00162a9bd86e07669f2af67f85c73a">::grpc::ClientAsyncResponseReader</a></td></tr>
<tr class="separator:a4b00162a9bd86e07669f2af67f85c73a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f68c65aab90864223a6aa9679a01b69"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#a6f68c65aab90864223a6aa9679a01b69">::grpc::RpcMethod</a></td></tr>
<tr class="separator:a6f68c65aab90864223a6aa9679a01b69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac574143322bf2bc6bd324ccb22d40756"><td class="memTemplParams" colspan="2">template&lt;class InputMessage , class OutputMessage &gt; </td></tr>
<tr class="memitem:ac574143322bf2bc6bd324ccb22d40756"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#ac574143322bf2bc6bd324ccb22d40756">BlockingUnaryCall</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const InputMessage &amp;request, OutputMessage *result)</td></tr>
<tr class="separator:ac574143322bf2bc6bd324ccb22d40756"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acac59a2ab862b1c60832640b741e6440"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">Channel</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel.html#acac59a2ab862b1c60832640b741e6440">CreateChannelInternal</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;host, grpc_channel *c_channel)</td></tr>
<tr class="separator:acac59a2ab862b1c60832640b741e6440"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab5ae726213995c9859d8e736e3090189"></a>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Channels represent a connection to an endpoint. Created by <em>CreateChannel</em>. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af12754677a599351077d6f68cc0c9159"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">grpc::Channel::~Channel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a3070c1bf22839a01d80db4dfb7199c81"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">grpc_connectivity_state grpc::Channel::GetState </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>try_to_connect</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current channel state. </p>
<p>If the channel is in IDLE and <em>try_to_connect</em> is set to true, try to connect. </p>
</div>
</div>
<a class="anchor" id="a90afcb9ab2a6893632987ab925168929"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::Channel::Channel </td>
<td class="memname">void grpc::Channel::NotifyOnStateChange </td>
<td>(</td>
<td class="paramtype">grpc_channel *&#160;</td>
<td class="paramname"><em>c_channel</em></td><td>)</td>
<td class="paramtype">grpc_connectivity_state&#160;</td>
<td class="paramname"><em>last_observed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>deadline</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *&#160;</td>
<td class="paramname"><em>cq</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>tag</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the <em>tag</em> on <em>cq</em> when the channel state is changed or <em>deadline</em> expires. </p>
<p><em>GetState</em> needs to called to get the current state. </p>
</div>
</div>
<a class="anchor" id="a22e7e491d79f4b4703e7d840cb9b443e"></a>
<a class="anchor" id="a4c54940cb0c353033cb86a004b1fa338"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::Channel::Channel </td>
<td class="memname">bool grpc::Channel::WaitForStateChange </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;&#160;</td>
<td class="paramname"><em>host</em>, </td>
<td class="paramtype">grpc_connectivity_state&#160;</td>
<td class="paramname"><em>last_observed</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">grpc_channel *&#160;</td>
<td class="paramname"><em>c_channel</em>&#160;</td>
<td class="paramtype">T&#160;</td>
<td class="paramname"><em>deadline</em>&#160;</td>
</tr>
<tr>
<td></td>
@ -169,86 +271,231 @@ Public Member Functions</h2></td></tr>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Blocking wait for channel state change or <em>deadline</em> expiration. </p>
<p><em>GetState</em> needs to called to get the current state. </p>
</div>
</div>
<a class="anchor" id="a328cc15191befeead2e67c505172fdc1"></a>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="af5343062a44a5633b144751e59969237"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::Channel::~Channel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
<td class="memname">friend class ::<a class="el" href="classgrpc_1_1_client_async_reader.html">grpc::ClientAsyncReader</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a1eba522535fdc85a69efd3e2fc400e09"></a>
<a class="anchor" id="a5c0c96957129933bfe94a299c764eaa7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R , class W &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_call.html">Call</a> grpc::Channel::CreateCall </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;&#160;</td>
<td class="paramname"><em>method</em>, </td>
<td class="memname">friend class ::<a class="el" href="classgrpc_1_1_client_async_reader_writer.html">grpc::ClientAsyncReaderWriter</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4b00162a9bd86e07669f2af67f85c73a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
<td class="memname">friend class ::<a class="el" href="classgrpc_1_1_client_async_response_reader.html">grpc::ClientAsyncResponseReader</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af3547958eadfaeb18692865bd73999ad"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class ::<a class="el" href="classgrpc_1_1_client_async_writer.html">grpc::ClientAsyncWriter</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ade499098cc91745c1c87147d7a7fb7bf"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *&#160;</td>
<td class="paramname"><em>cq</em>&#160;</td>
<td class="memname">friend class ::<a class="el" href="classgrpc_1_1_client_reader.html">grpc::ClientReader</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6d5659aa24edba057895be774e2752ec"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class R , class W &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
<td class="memname">friend class ::<a class="el" href="classgrpc_1_1_client_reader_writer.html">grpc::ClientReaderWriter</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgrpc_1_1_channel_interface.html#a9fd365d30961e8e40805a3c8faf276d0">grpc::ChannelInterface</a>.</p>
</div>
</div>
<a class="anchor" id="a4498fada67d531d99a8642f47d746544"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class W &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class ::<a class="el" href="classgrpc_1_1_client_writer.html">grpc::ClientWriter</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6f68c65aab90864223a6aa9679a01b69"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class ::<a class="el" href="classgrpc_1_1_rpc_method.html">grpc::RpcMethod</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2c6a3cb1c87c457fb0562e17df304ec3"></a>
<a class="anchor" id="ac574143322bf2bc6bd324ccb22d40756"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputMessage , class OutputMessage &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::Channel::PerformOpsOnCall </td>
<td class="memname"><a class="el" href="classgrpc_1_1_status.html">Status</a> BlockingUnaryCall </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_call_op_set_interface.html">CallOpSetInterface</a> *&#160;</td>
<td class="paramname"><em>ops</em>, </td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;&#160;</td>
<td class="paramname"><em>method</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_call.html">Call</a> *&#160;</td>
<td class="paramname"><em>call</em>&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const InputMessage &amp;&#160;</td>
<td class="paramname"><em>request</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">OutputMessage *&#160;</td>
<td class="paramname"><em>result</em>&#160;</td>
</tr>
<tr>
<td></td>
@ -258,16 +505,14 @@ Public Member Functions</h2></td></tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgrpc_1_1_call_hook.html#acf08b6dd7d1faba4efeeb4937bc81d29">grpc::CallHook</a>.</p>
</div>
</div>
<a class="anchor" id="a9f4af1b920ae0f381415cd62f9301001"></a>
<a class="anchor" id="acac59a2ab862b1c60832640b741e6440"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -275,32 +520,40 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void * grpc::Channel::RegisterMethod </td>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel.html">Channel</a>&gt; CreateChannelInternal </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>method</em></td><td>)</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">grpc_channel *&#160;</td>
<td class="paramname"><em>c_channel</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgrpc_1_1_channel_interface.html#a267926300784051328390b2f7648c99f">grpc::ChannelInterface</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/cpp/client/<a class="el" href="channel_8h_source.html">channel.h</a></li>
<li>include/grpc++/<a class="el" href="channel_8h_source.html">channel.h</a></li>
<li>src/cpp/client/<a class="el" href="channel_8cc.html">channel.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -95,6 +95,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p>Options for channel creation.
<a href="classgrpc_1_1_channel_arguments.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="channel__arguments_8h_source.html">channel_arguments.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
@ -109,16 +112,21 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ac75ba90de32a5c7f3cb6c62f7ce649be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ff4f22c2cf31c01885b2aaefbdd227d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_arguments.html#a3ff4f22c2cf31c01885b2aaefbdd227d">Swap</a> (<a class="el" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a> &amp;other)</td></tr>
<tr class="separator:a3ff4f22c2cf31c01885b2aaefbdd227d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ce1857947d36ff894402ad10cb6048"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048">SetChannelArgs</a> (grpc_channel_args *channel_args) const </td></tr>
<tr class="memdesc:a90ce1857947d36ff894402ad10cb6048"><td class="mdescLeft">&#160;</td><td class="mdescRight">Populates this instance with the arguments from <em>channel_args</em>. <a href="#a90ce1857947d36ff894402ad10cb6048">More...</a><br/></td></tr>
<tr class="separator:a90ce1857947d36ff894402ad10cb6048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4182e659448184f9618f079a1570328"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_arguments.html#af4182e659448184f9618f079a1570328">SetSslTargetNameOverride</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;name)</td></tr>
<tr class="memdesc:af4182e659448184f9618f079a1570328"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set target name override for SSL host name checking. <a href="#af4182e659448184f9618f079a1570328">More...</a><br/></td></tr>
<tr class="separator:af4182e659448184f9618f079a1570328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf332071bbdff5e4a7f3352f4ad564d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_arguments.html#aaf332071bbdff5e4a7f3352f4ad564d5">SetCompressionAlgorithm</a> (grpc_compression_algorithm algorithm)</td></tr>
<tr class="memdesc:aaf332071bbdff5e4a7f3352f4ad564d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the compression algorithm for the channel. <a href="#aaf332071bbdff5e4a7f3352f4ad564d5">More...</a><br/></td></tr>
<tr class="separator:aaf332071bbdff5e4a7f3352f4ad564d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b1c60568a4906bfe0b21781b09cdbbf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_arguments.html#a2b1c60568a4906bfe0b21781b09cdbbf">SetInt</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;key, int value)</td></tr>
<tr class="memdesc:a2b1c60568a4906bfe0b21781b09cdbbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an integer argument <em>value</em> under <em>key</em>. <a href="#a2b1c60568a4906bfe0b21781b09cdbbf">More...</a><br/></td></tr>
<tr class="separator:a2b1c60568a4906bfe0b21781b09cdbbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a852ac2fe0ac7421fa82927ddda612947"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_arguments.html#a852ac2fe0ac7421fa82927ddda612947">SetString</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;key, const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;value)</td></tr>
<tr class="memdesc:a852ac2fe0ac7421fa82927ddda612947"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a textual argument <em>value</em> under <em>key</em>. <a href="#a852ac2fe0ac7421fa82927ddda612947">More...</a><br/></td></tr>
<tr class="separator:a852ac2fe0ac7421fa82927ddda612947"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ce1857947d36ff894402ad10cb6048"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048">SetChannelArgs</a> (grpc_channel_args *channel_args) const </td></tr>
<tr class="separator:a90ce1857947d36ff894402ad10cb6048"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
@ -127,7 +135,10 @@ Friends</h2></td></tr>
<tr class="memitem:ab9fc942609a77bb3021ba172be262c7b"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b">testing::ChannelArgumentsTest</a></td></tr>
<tr class="separator:ab9fc942609a77bb3021ba172be262c7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Options for channel creation. </p>
<p>The user can use generic setters to pass key value pairs down to c channel creation code. For grpc related options, concrete setters are provided. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aecabf1ea1c78a3202544571cf857e8eb"></a>
<div class="memitem">
<div class="memproto">
@ -229,6 +240,10 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Populates this instance with the arguments from <em>channel_args</em>. </p>
<p>Does not take ownership of <em>channel_args</em>.</p>
<p>Note that the underlying arguments are shared. Changes made to either <em>channel_args</em> or this instance would be reflected on both. </p>
</div>
</div>
<a class="anchor" id="aaf332071bbdff5e4a7f3352f4ad564d5"></a>
@ -245,6 +260,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Set the compression algorithm for the channel. </p>
</div>
</div>
<a class="anchor" id="a2b1c60568a4906bfe0b21781b09cdbbf"></a>
@ -271,6 +288,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Set an integer argument <em>value</em> under <em>key</em>. </p>
</div>
</div>
<a class="anchor" id="af4182e659448184f9618f079a1570328"></a>
@ -287,6 +306,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Set target name override for SSL host name checking. </p>
</div>
</div>
<a class="anchor" id="a852ac2fe0ac7421fa82927ddda612947"></a>
@ -313,6 +334,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Set a textual argument <em>value</em> under <em>key</em>. </p>
</div>
</div>
<a class="anchor" id="a3ff4f22c2cf31c01885b2aaefbdd227d"></a>
@ -373,14 +396,14 @@ Friends</h2></td></tr>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="channel__arguments_8h_source.html">channel_arguments.h</a></li>
<li>include/grpc++/support/<a class="el" href="channel__arguments_8h_source.html">channel_arguments.h</a></li>
<li>src/cpp/client/<a class="el" href="secure__channel__arguments_8cc.html">secure_channel_arguments.cc</a></li>
<li>src/cpp/client/<a class="el" href="channel__arguments_8cc.html">channel_arguments.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,18 +94,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="client__context_8h_source.html">client_context.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="channel_8h_source.html">channel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa14e3bc04d9852009f8b3094ce0d3ed4"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:aa14e3bc04d9852009f8b3094ce0d3ed4"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader.html#aa14e3bc04d9852009f8b3094ce0d3ed4">ClientAsyncReader</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const W &amp;request, void *tag)</td></tr>
<tr class="separator:aa14e3bc04d9852009f8b3094ce0d3ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb7e350f4b6dcc7acdfdbb9d97c012bd"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:acb7e350f4b6dcc7acdfdbb9d97c012bd"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader.html#acb7e350f4b6dcc7acdfdbb9d97c012bd">ClientAsyncReader</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const W &amp;request, void *tag)</td></tr>
<tr class="memdesc:acb7e350f4b6dcc7acdfdbb9d97c012bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a stream and write the first request out. <a href="#acb7e350f4b6dcc7acdfdbb9d97c012bd">More...</a><br/></td></tr>
<tr class="separator:acb7e350f4b6dcc7acdfdbb9d97c012bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e5b71e2620dc95fe41305eef7ee7863"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader.html#a0e5b71e2620dc95fe41305eef7ee7863">ReadInitialMetadata</a> (void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a0e5b71e2620dc95fe41305eef7ee7863"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification of the reading of the initial metadata. <a href="#a0e5b71e2620dc95fe41305eef7ee7863">More...</a><br/></td></tr>
<tr class="separator:a0e5b71e2620dc95fe41305eef7ee7863"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf9f76ba76be0a0144bbdf44d740731d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d">Read</a> (R *msg, void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:aaf9f76ba76be0a0144bbdf44d740731d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a message of type <em>R</em> into <em>msg</em>. <a href="#aaf9f76ba76be0a0144bbdf44d740731d">More...</a><br/></td></tr>
<tr class="separator:aaf9f76ba76be0a0144bbdf44d740731d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91bfabf65e2dc955b6983bc0ece5a73f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader.html#a91bfabf65e2dc955b6983bc0ece5a73f">Finish</a> (<a class="el" href="classgrpc_1_1_status.html">Status</a> *status, void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a91bfabf65e2dc955b6983bc0ece5a73f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification completion. <a href="#a91bfabf65e2dc955b6983bc0ece5a73f">More...</a><br/></td></tr>
<tr class="separator:a91bfabf65e2dc955b6983bc0ece5a73f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_async_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_async_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html">grpc::ClientAsyncStreamingInterface</a></td></tr>
<tr class="memitem:a103c33e82dbf1715749886c4249f3f28 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28">~ClientAsyncStreamingInterface</a> ()</td></tr>
@ -115,7 +119,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ac7845d2df90fb380008aadb7f5f2f379 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa14e3bc04d9852009f8b3094ce0d3ed4"></a>
<a class="anchor" id="acb7e350f4b6dcc7acdfdbb9d97c012bd"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@ -129,7 +133,7 @@ template&lt;class W &gt; </div>
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_client_async_reader.html">grpc::ClientAsyncReader</a>&lt; R &gt;::<a class="el" href="classgrpc_1_1_client_async_reader.html">ClientAsyncReader</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
@ -175,6 +179,8 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Create a stream and write the first request out. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
@ -212,6 +218,15 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Request notification completion. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">status</td><td>To be updated with the operation status. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24">grpc::ClientAsyncStreamingInterface</a>.</p>
</div>
@ -250,6 +265,16 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Read a message of type <em>R</em> into <em>msg</em>. </p>
<p>Completion will be notified by <em>tag</em> on the associated completion queue.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">msg</td><td>Where to eventually store the read message. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11">grpc::AsyncReaderInterface&lt; R &gt;</a>.</p>
</div>
@ -278,18 +303,27 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Request notification of the reading of the initial metadata. </p>
<p>Completion will be notified by <em>tag</em> on the associated completion queue.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174">grpc::ClientAsyncStreamingInterface</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="client__context_8h_source.html">client_context.h</a></li>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/<a class="el" href="channel_8h_source.html">channel.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__stream_8h_source.html">async_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -92,7 +92,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="async__stream_8h_source.html">async_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
@ -100,22 +100,25 @@ Additional Inherited Members</h2></td></tr>
<tr class="memitem:a103c33e82dbf1715749886c4249f3f28 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28">~ClientAsyncStreamingInterface</a> ()</td></tr>
<tr class="separator:a103c33e82dbf1715749886c4249f3f28 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad83bfe2febf4a6296b7d2646799b8174 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174">ReadInitialMetadata</a> (void *tag)=0</td></tr>
<tr class="memdesc:ad83bfe2febf4a6296b7d2646799b8174 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification of the reading of the initial metadata. <a href="#ad83bfe2febf4a6296b7d2646799b8174">More...</a><br/></td></tr>
<tr class="separator:ad83bfe2febf4a6296b7d2646799b8174 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc1cfbd1514fea47088bc837bb578a24 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24">Finish</a> (<a class="el" href="classgrpc_1_1_status.html">Status</a> *status, void *tag)=0</td></tr>
<tr class="memdesc:afc1cfbd1514fea47088bc837bb578a24 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification completion. <a href="#afc1cfbd1514fea47088bc837bb578a24">More...</a><br/></td></tr>
<tr class="separator:afc1cfbd1514fea47088bc837bb578a24 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_async_reader_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_async_reader_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_async_reader_interface.html">grpc::AsyncReaderInterface&lt; R &gt;</a></td></tr>
<tr class="memitem:ac7845d2df90fb380008aadb7f5f2f379 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379">~AsyncReaderInterface</a> ()</td></tr>
<tr class="separator:ac7845d2df90fb380008aadb7f5f2f379 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa644cf63c12ae8c9d5fda16a361f8a11 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11">Read</a> (R *msg, void *tag)=0</td></tr>
<tr class="memdesc:aa644cf63c12ae8c9d5fda16a361f8a11 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a message of type <em>R</em> into <em>msg</em>. <a href="#aa644cf63c12ae8c9d5fda16a361f8a11">More...</a><br/></td></tr>
<tr class="separator:aa644cf63c12ae8c9d5fda16a361f8a11 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__stream_8h_source.html">async_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,21 +94,26 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="client__context_8h_source.html">client_context.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="channel_8h_source.html">channel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae0595a950e2917399bbcef7e70e06066"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html#ae0595a950e2917399bbcef7e70e06066">ClientAsyncReaderWriter</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, void *tag)</td></tr>
<tr class="separator:ae0595a950e2917399bbcef7e70e06066"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7a334d85a878b6b7a962e9b659d3e3b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html#af7a334d85a878b6b7a962e9b659d3e3b">ClientAsyncReaderWriter</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, void *tag)</td></tr>
<tr class="separator:af7a334d85a878b6b7a962e9b659d3e3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69f0115acf443d7820adefc7b2a6f162"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html#a69f0115acf443d7820adefc7b2a6f162">ReadInitialMetadata</a> (void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a69f0115acf443d7820adefc7b2a6f162"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification of the reading of the initial metadata. <a href="#a69f0115acf443d7820adefc7b2a6f162">More...</a><br/></td></tr>
<tr class="separator:a69f0115acf443d7820adefc7b2a6f162"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b6a32ede877fc2d5d4cfc5b95ac163f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f">Read</a> (R *msg, void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a8b6a32ede877fc2d5d4cfc5b95ac163f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a message of type <em>R</em> into <em>msg</em>. <a href="#a8b6a32ede877fc2d5d4cfc5b95ac163f">More...</a><br/></td></tr>
<tr class="separator:a8b6a32ede877fc2d5d4cfc5b95ac163f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3cb288c3bd9d1b826fd726bd2655be3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3">Write</a> (const W &amp;msg, void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:ac3cb288c3bd9d1b826fd726bd2655be3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the writing of <em>msg</em> with identifying tag <em>tag</em>. <a href="#ac3cb288c3bd9d1b826fd726bd2655be3">More...</a><br/></td></tr>
<tr class="separator:ac3cb288c3bd9d1b826fd726bd2655be3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae431aa00a64f2685b60ec853334e6637"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html#ae431aa00a64f2685b60ec853334e6637">WritesDone</a> (void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:ae431aa00a64f2685b60ec853334e6637"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal the client is done with the writes. <a href="#ae431aa00a64f2685b60ec853334e6637">More...</a><br/></td></tr>
<tr class="separator:ae431aa00a64f2685b60ec853334e6637"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4316a3e8d1b4d148a695c8afa240ea23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html#a4316a3e8d1b4d148a695c8afa240ea23">Finish</a> (<a class="el" href="classgrpc_1_1_status.html">Status</a> *status, void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a4316a3e8d1b4d148a695c8afa240ea23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification completion. <a href="#a4316a3e8d1b4d148a695c8afa240ea23">More...</a><br/></td></tr>
<tr class="separator:a4316a3e8d1b4d148a695c8afa240ea23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_async_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_async_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html">grpc::ClientAsyncStreamingInterface</a></td></tr>
<tr class="memitem:a103c33e82dbf1715749886c4249f3f28 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28">~ClientAsyncStreamingInterface</a> ()</td></tr>
@ -121,7 +126,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ac7845d2df90fb380008aadb7f5f2f379 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ae0595a950e2917399bbcef7e70e06066"></a>
<a class="anchor" id="af7a334d85a878b6b7a962e9b659d3e3b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@ -133,7 +138,7 @@ template&lt;class R , class W &gt; </div>
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_client_async_reader_writer.html">grpc::ClientAsyncReaderWriter</a>&lt; R, W &gt;::<a class="el" href="classgrpc_1_1_client_async_reader_writer.html">ClientAsyncReaderWriter</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
@ -210,6 +215,15 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Request notification completion. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">status</td><td>To be updated with the operation status. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24">grpc::ClientAsyncStreamingInterface</a>.</p>
</div>
@ -248,6 +262,16 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Read a message of type <em>R</em> into <em>msg</em>. </p>
<p>Completion will be notified by <em>tag</em> on the associated completion queue.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">msg</td><td>Where to eventually store the read message. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11">grpc::AsyncReaderInterface&lt; R &gt;</a>.</p>
</div>
@ -276,6 +300,15 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Request notification of the reading of the initial metadata. </p>
<p>Completion will be notified by <em>tag</em> on the associated completion queue.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174">grpc::ClientAsyncStreamingInterface</a>.</p>
</div>
@ -314,6 +347,15 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Request the writing of <em>msg</em> with identifying tag <em>tag</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message to be written. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4">grpc::AsyncWriterInterface&lt; W &gt;</a>.</p>
</div>
@ -342,18 +384,26 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Signal the client is done with the writes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_async_reader_writer_interface.html#a878193880df68ab969b697f1fcd7dbc3">grpc::ClientAsyncReaderWriterInterface&lt; W, R &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="client__context_8h_source.html">client_context.h</a></li>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/<a class="el" href="channel_8h_source.html">channel.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__stream_8h_source.html">async_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,31 +94,44 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>Client-side interface for asynchronous bi-directional streaming.
<a href="classgrpc_1_1_client_async_reader_writer_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="async__stream_8h_source.html">async_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a878193880df68ab969b697f1fcd7dbc3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_reader_writer_interface.html#a878193880df68ab969b697f1fcd7dbc3">WritesDone</a> (void *tag)=0</td></tr>
<tr class="memdesc:a878193880df68ab969b697f1fcd7dbc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal the client is done with the writes. <a href="#a878193880df68ab969b697f1fcd7dbc3">More...</a><br/></td></tr>
<tr class="separator:a878193880df68ab969b697f1fcd7dbc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_async_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_async_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html">grpc::ClientAsyncStreamingInterface</a></td></tr>
<tr class="memitem:a103c33e82dbf1715749886c4249f3f28 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28">~ClientAsyncStreamingInterface</a> ()</td></tr>
<tr class="separator:a103c33e82dbf1715749886c4249f3f28 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad83bfe2febf4a6296b7d2646799b8174 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174">ReadInitialMetadata</a> (void *tag)=0</td></tr>
<tr class="memdesc:ad83bfe2febf4a6296b7d2646799b8174 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification of the reading of the initial metadata. <a href="#ad83bfe2febf4a6296b7d2646799b8174">More...</a><br/></td></tr>
<tr class="separator:ad83bfe2febf4a6296b7d2646799b8174 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc1cfbd1514fea47088bc837bb578a24 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24">Finish</a> (<a class="el" href="classgrpc_1_1_status.html">Status</a> *status, void *tag)=0</td></tr>
<tr class="memdesc:afc1cfbd1514fea47088bc837bb578a24 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification completion. <a href="#afc1cfbd1514fea47088bc837bb578a24">More...</a><br/></td></tr>
<tr class="separator:afc1cfbd1514fea47088bc837bb578a24 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_async_writer_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_async_writer_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_async_writer_interface.html">grpc::AsyncWriterInterface&lt; W &gt;</a></td></tr>
<tr class="memitem:a94cc9e4ed13c8fe4a1d883d465477ddd inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd">~AsyncWriterInterface</a> ()</td></tr>
<tr class="separator:a94cc9e4ed13c8fe4a1d883d465477ddd inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40c1091ac5cb5243c874da725ae291b4 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4">Write</a> (const W &amp;msg, void *tag)=0</td></tr>
<tr class="memdesc:a40c1091ac5cb5243c874da725ae291b4 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the writing of <em>msg</em> with identifying tag <em>tag</em>. <a href="#a40c1091ac5cb5243c874da725ae291b4">More...</a><br/></td></tr>
<tr class="separator:a40c1091ac5cb5243c874da725ae291b4 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_async_reader_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_async_reader_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_async_reader_interface.html">grpc::AsyncReaderInterface&lt; R &gt;</a></td></tr>
<tr class="memitem:ac7845d2df90fb380008aadb7f5f2f379 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379">~AsyncReaderInterface</a> ()</td></tr>
<tr class="separator:ac7845d2df90fb380008aadb7f5f2f379 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa644cf63c12ae8c9d5fda16a361f8a11 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11">Read</a> (R *msg, void *tag)=0</td></tr>
<tr class="memdesc:aa644cf63c12ae8c9d5fda16a361f8a11 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read a message of type <em>R</em> into <em>msg</em>. <a href="#aa644cf63c12ae8c9d5fda16a361f8a11">More...</a><br/></td></tr>
<tr class="separator:aa644cf63c12ae8c9d5fda16a361f8a11 inherit pub_methods_classgrpc_1_1_async_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class W, class R&gt;<br/>
class grpc::ClientAsyncReaderWriterInterface&lt; W, R &gt;</h3>
<p>Client-side interface for asynchronous bi-directional streaming. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a878193880df68ab969b697f1fcd7dbc3"></a>
<div class="memitem">
<div class="memproto">
@ -143,17 +156,25 @@ template&lt;class W , class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Signal the client is done with the writes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classgrpc_1_1_client_async_reader_writer.html#ae431aa00a64f2685b60ec853334e6637">grpc::ClientAsyncReaderWriter&lt; R, W &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__stream_8h_source.html">async_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,13 +94,13 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="async__unary__call_8h_source.html">async_unary_call.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="channel_8h_source.html">channel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4868e0f82053062c95fea7bd197acadf"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:a4868e0f82053062c95fea7bd197acadf"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_response_reader.html#a4868e0f82053062c95fea7bd197acadf">ClientAsyncResponseReader</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const W &amp;request)</td></tr>
<tr class="separator:a4868e0f82053062c95fea7bd197acadf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83f7c9c6969cfb19880110231d7aaa48"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:a83f7c9c6969cfb19880110231d7aaa48"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_response_reader.html#a83f7c9c6969cfb19880110231d7aaa48">ClientAsyncResponseReader</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const W &amp;request)</td></tr>
<tr class="separator:a83f7c9c6969cfb19880110231d7aaa48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963aefc43f34c9182e265647bbcdb91b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_response_reader.html#a963aefc43f34c9182e265647bbcdb91b">ReadInitialMetadata</a> (void *tag)</td></tr>
<tr class="separator:a963aefc43f34c9182e265647bbcdb91b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a585dc15817999f82a72120a783800830"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_response_reader.html#a585dc15817999f82a72120a783800830">Finish</a> (R *msg, <a class="el" href="classgrpc_1_1_status.html">Status</a> *status, void *tag)</td></tr>
@ -110,7 +110,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:aa97dc1ab6a7160a489d2e555102bf5a0 inherit pub_methods_classgrpc_1_1_client_async_response_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a4868e0f82053062c95fea7bd197acadf"></a>
<a class="anchor" id="a83f7c9c6969cfb19880110231d7aaa48"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@ -124,7 +124,7 @@ template&lt;class W &gt; </div>
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_client_async_response_reader.html">grpc::ClientAsyncResponseReader</a>&lt; R &gt;::<a class="el" href="classgrpc_1_1_client_async_response_reader.html">ClientAsyncResponseReader</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
@ -239,13 +239,14 @@ template&lt;class R &gt; </div>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="async__unary__call_8h_source.html">async_unary_call.h</a></li>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="channel_8h_source.html">channel.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__unary__call_8h_source.html">async_unary_call.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -205,12 +205,12 @@ template&lt;class R &gt; </div>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="async__unary__call_8h_source.html">async_unary_call.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__unary__call_8h_source.html">async_unary_call.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,18 +94,25 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>Common interface for all client side asynchronous streaming.
<a href="classgrpc_1_1_client_async_streaming_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="async__stream_8h_source.html">async_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a103c33e82dbf1715749886c4249f3f28"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28">~ClientAsyncStreamingInterface</a> ()</td></tr>
<tr class="separator:a103c33e82dbf1715749886c4249f3f28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad83bfe2febf4a6296b7d2646799b8174"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174">ReadInitialMetadata</a> (void *tag)=0</td></tr>
<tr class="memdesc:ad83bfe2febf4a6296b7d2646799b8174"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification of the reading of the initial metadata. <a href="#ad83bfe2febf4a6296b7d2646799b8174">More...</a><br/></td></tr>
<tr class="separator:ad83bfe2febf4a6296b7d2646799b8174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc1cfbd1514fea47088bc837bb578a24"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24">Finish</a> (<a class="el" href="classgrpc_1_1_status.html">Status</a> *status, void *tag)=0</td></tr>
<tr class="memdesc:afc1cfbd1514fea47088bc837bb578a24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification completion. <a href="#afc1cfbd1514fea47088bc837bb578a24">More...</a><br/></td></tr>
<tr class="separator:afc1cfbd1514fea47088bc837bb578a24"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Common interface for all client side asynchronous streaming. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a103c33e82dbf1715749886c4249f3f28"></a>
<div class="memitem">
<div class="memproto">
@ -162,6 +169,15 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Request notification completion. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">status</td><td>To be updated with the operation status. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classgrpc_1_1_client_async_reader_writer.html#a4316a3e8d1b4d148a695c8afa240ea23">grpc::ClientAsyncReaderWriter&lt; R, W &gt;</a>, <a class="el" href="classgrpc_1_1_client_async_writer.html#ad37af0a7fc27fc90e168fdb90eb52d8b">grpc::ClientAsyncWriter&lt; W &gt;</a>, and <a class="el" href="classgrpc_1_1_client_async_reader.html#a91bfabf65e2dc955b6983bc0ece5a73f">grpc::ClientAsyncReader&lt; R &gt;</a>.</p>
</div>
@ -188,17 +204,26 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Request notification of the reading of the initial metadata. </p>
<p>Completion will be notified by <em>tag</em> on the associated completion queue.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classgrpc_1_1_client_async_reader_writer.html#a69f0115acf443d7820adefc7b2a6f162">grpc::ClientAsyncReaderWriter&lt; R, W &gt;</a>, <a class="el" href="classgrpc_1_1_client_async_writer.html#a1db45c4f5817db4f770c08dab64916c7">grpc::ClientAsyncWriter&lt; W &gt;</a>, and <a class="el" href="classgrpc_1_1_client_async_reader.html#a0e5b71e2620dc95fe41305eef7ee7863">grpc::ClientAsyncReader&lt; R &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__stream_8h_source.html">async_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,20 +94,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="client__context_8h_source.html">client_context.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="channel_8h_source.html">channel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad4903b1736b423c076bac8e23db345f6"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:ad4903b1736b423c076bac8e23db345f6"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer.html#ad4903b1736b423c076bac8e23db345f6">ClientAsyncWriter</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, R *response, void *tag)</td></tr>
<tr class="separator:ad4903b1736b423c076bac8e23db345f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ef3121a212b994228a8c8b192789e3d"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a2ef3121a212b994228a8c8b192789e3d"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer.html#a2ef3121a212b994228a8c8b192789e3d">ClientAsyncWriter</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, R *response, void *tag)</td></tr>
<tr class="separator:a2ef3121a212b994228a8c8b192789e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1db45c4f5817db4f770c08dab64916c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer.html#a1db45c4f5817db4f770c08dab64916c7">ReadInitialMetadata</a> (void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a1db45c4f5817db4f770c08dab64916c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification of the reading of the initial metadata. <a href="#a1db45c4f5817db4f770c08dab64916c7">More...</a><br/></td></tr>
<tr class="separator:a1db45c4f5817db4f770c08dab64916c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a544f9e4c310b251bf3c7b84fd035d20a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a">Write</a> (const W &amp;msg, void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a544f9e4c310b251bf3c7b84fd035d20a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the writing of <em>msg</em> with identifying tag <em>tag</em>. <a href="#a544f9e4c310b251bf3c7b84fd035d20a">More...</a><br/></td></tr>
<tr class="separator:a544f9e4c310b251bf3c7b84fd035d20a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9fbf77049c3e5402913c0edeccf3d47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer.html#af9fbf77049c3e5402913c0edeccf3d47">WritesDone</a> (void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:af9fbf77049c3e5402913c0edeccf3d47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal the client is done with the writes. <a href="#af9fbf77049c3e5402913c0edeccf3d47">More...</a><br/></td></tr>
<tr class="separator:af9fbf77049c3e5402913c0edeccf3d47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad37af0a7fc27fc90e168fdb90eb52d8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer.html#ad37af0a7fc27fc90e168fdb90eb52d8b">Finish</a> (<a class="el" href="classgrpc_1_1_status.html">Status</a> *status, void *tag) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:ad37af0a7fc27fc90e168fdb90eb52d8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification completion. <a href="#ad37af0a7fc27fc90e168fdb90eb52d8b">More...</a><br/></td></tr>
<tr class="separator:ad37af0a7fc27fc90e168fdb90eb52d8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_async_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_async_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html">grpc::ClientAsyncStreamingInterface</a></td></tr>
<tr class="memitem:a103c33e82dbf1715749886c4249f3f28 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28">~ClientAsyncStreamingInterface</a> ()</td></tr>
@ -117,7 +121,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a94cc9e4ed13c8fe4a1d883d465477ddd inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ad4903b1736b423c076bac8e23db345f6"></a>
<a class="anchor" id="a2ef3121a212b994228a8c8b192789e3d"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@ -131,7 +135,7 @@ template&lt;class R &gt; </div>
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_client_async_writer.html">grpc::ClientAsyncWriter</a>&lt; W &gt;::<a class="el" href="classgrpc_1_1_client_async_writer.html">ClientAsyncWriter</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
@ -214,6 +218,15 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Request notification completion. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">status</td><td>To be updated with the operation status. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24">grpc::ClientAsyncStreamingInterface</a>.</p>
</div>
@ -242,6 +255,15 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Request notification of the reading of the initial metadata. </p>
<p>Completion will be notified by <em>tag</em> on the associated completion queue.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>Tag identifying this request. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174">grpc::ClientAsyncStreamingInterface</a>.</p>
</div>
@ -280,6 +302,15 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Request the writing of <em>msg</em> with identifying tag <em>tag</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">msg</td><td>The message to be written. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4">grpc::AsyncWriterInterface&lt; W &gt;</a>.</p>
</div>
@ -308,18 +339,26 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Signal the client is done with the writes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_async_writer_interface.html#a488d42d85f8e34902401e013572ff822">grpc::ClientAsyncWriterInterface&lt; W &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="client__context_8h_source.html">client_context.h</a></li>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/<a class="el" href="channel_8h_source.html">channel.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__stream_8h_source.html">async_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,26 +94,38 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>Common interface for client side asynchronous writing.
<a href="classgrpc_1_1_client_async_writer_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="async__stream_8h_source.html">async_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a488d42d85f8e34902401e013572ff822"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_writer_interface.html#a488d42d85f8e34902401e013572ff822">WritesDone</a> (void *tag)=0</td></tr>
<tr class="memdesc:a488d42d85f8e34902401e013572ff822"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal the client is done with the writes. <a href="#a488d42d85f8e34902401e013572ff822">More...</a><br/></td></tr>
<tr class="separator:a488d42d85f8e34902401e013572ff822"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_async_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_async_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_async_streaming_interface.html">grpc::ClientAsyncStreamingInterface</a></td></tr>
<tr class="memitem:a103c33e82dbf1715749886c4249f3f28 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28">~ClientAsyncStreamingInterface</a> ()</td></tr>
<tr class="separator:a103c33e82dbf1715749886c4249f3f28 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad83bfe2febf4a6296b7d2646799b8174 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174">ReadInitialMetadata</a> (void *tag)=0</td></tr>
<tr class="memdesc:ad83bfe2febf4a6296b7d2646799b8174 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification of the reading of the initial metadata. <a href="#ad83bfe2febf4a6296b7d2646799b8174">More...</a><br/></td></tr>
<tr class="separator:ad83bfe2febf4a6296b7d2646799b8174 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc1cfbd1514fea47088bc837bb578a24 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24">Finish</a> (<a class="el" href="classgrpc_1_1_status.html">Status</a> *status, void *tag)=0</td></tr>
<tr class="memdesc:afc1cfbd1514fea47088bc837bb578a24 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request notification completion. <a href="#afc1cfbd1514fea47088bc837bb578a24">More...</a><br/></td></tr>
<tr class="separator:afc1cfbd1514fea47088bc837bb578a24 inherit pub_methods_classgrpc_1_1_client_async_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_async_writer_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_async_writer_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_async_writer_interface.html">grpc::AsyncWriterInterface&lt; W &gt;</a></td></tr>
<tr class="memitem:a94cc9e4ed13c8fe4a1d883d465477ddd inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd">~AsyncWriterInterface</a> ()</td></tr>
<tr class="separator:a94cc9e4ed13c8fe4a1d883d465477ddd inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40c1091ac5cb5243c874da725ae291b4 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4">Write</a> (const W &amp;msg, void *tag)=0</td></tr>
<tr class="memdesc:a40c1091ac5cb5243c874da725ae291b4 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the writing of <em>msg</em> with identifying tag <em>tag</em>. <a href="#a40c1091ac5cb5243c874da725ae291b4">More...</a><br/></td></tr>
<tr class="separator:a40c1091ac5cb5243c874da725ae291b4 inherit pub_methods_classgrpc_1_1_async_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class W&gt;<br/>
class grpc::ClientAsyncWriterInterface&lt; W &gt;</h3>
<p>Common interface for client side asynchronous writing. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a488d42d85f8e34902401e013572ff822"></a>
<div class="memitem">
<div class="memproto">
@ -138,17 +150,25 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Signal the client is done with the writes. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">tag</td><td>The tag identifying the operation. </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classgrpc_1_1_client_async_writer.html#af9fbf77049c3e5402913c0edeccf3d47">grpc::ClientAsyncWriter&lt; W &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="async__stream_8h_source.html">async_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -89,6 +89,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a> </div>
<div class="headertitle">
<div class="title">grpc::ClientContext Class Reference</div> </div>
@ -104,42 +105,67 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:aeb77ea760faf8f96e775812806c0a3d9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#aeb77ea760faf8f96e775812806c0a3d9">~ClientContext</a> ()</td></tr>
<tr class="separator:aeb77ea760faf8f96e775812806c0a3d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69a026f073ef5934697568d689440bd4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a69a026f073ef5934697568d689440bd4">AddMetadata</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;meta_key, const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;meta_value)</td></tr>
<tr class="memdesc:a69a026f073ef5934697568d689440bd4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the (<em>meta_key</em>, <em>meta_value</em>) pair to the metadata associated with a client call. <a href="#a69a026f073ef5934697568d689440bd4">More...</a><br/></td></tr>
<tr class="separator:a69a026f073ef5934697568d689440bd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a971f592cb4c3d4cc4be227c413264d15"><td class="memItemLeft" align="right" valign="top">const std::multimap<br class="typebreak"/>
&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a971f592cb4c3d4cc4be227c413264d15">GetServerInitialMetadata</a> ()</td></tr>
<tr class="separator:a971f592cb4c3d4cc4be227c413264d15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2ad079046a7f9e6dba922274e11aaa3"><td class="memItemLeft" align="right" valign="top">const std::multimap<br class="typebreak"/>
&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#ab2ad079046a7f9e6dba922274e11aaa3">GetServerTrailingMetadata</a> ()</td></tr>
<tr class="separator:ab2ad079046a7f9e6dba922274e11aaa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dd6ec0742cbc84e5a83acab009c5f38"><td class="memItemLeft" align="right" valign="top">const std::multimap<br class="typebreak"/>
&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <br class="typebreak"/>
<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a3dd6ec0742cbc84e5a83acab009c5f38">GetServerInitialMetadata</a> ()</td></tr>
<tr class="memdesc:a3dd6ec0742cbc84e5a83acab009c5f38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a collection of initial metadata key-value pairs. <a href="#a3dd6ec0742cbc84e5a83acab009c5f38">More...</a><br/></td></tr>
<tr class="separator:a3dd6ec0742cbc84e5a83acab009c5f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06cd5278c2d242bdd6a8f62fd6c87a93"><td class="memItemLeft" align="right" valign="top">const std::multimap<br class="typebreak"/>
&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <br class="typebreak"/>
<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a06cd5278c2d242bdd6a8f62fd6c87a93">GetServerTrailingMetadata</a> ()</td></tr>
<tr class="memdesc:a06cd5278c2d242bdd6a8f62fd6c87a93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a collection of trailing metadata key-value pairs. <a href="#a06cd5278c2d242bdd6a8f62fd6c87a93">More...</a><br/></td></tr>
<tr class="separator:a06cd5278c2d242bdd6a8f62fd6c87a93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4e16866fee3f6ee5a10efb5be6f4da6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ad4e16866fee3f6ee5a10efb5be6f4da6"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#ad4e16866fee3f6ee5a10efb5be6f4da6">set_deadline</a> (const T &amp;<a class="el" href="classgrpc_1_1_client_context.html#af29e0113f661e1fbbecc20c268a3be6e">deadline</a>)</td></tr>
<tr class="memdesc:ad4e16866fee3f6ee5a10efb5be6f4da6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the deadline for the client call. <a href="#ad4e16866fee3f6ee5a10efb5be6f4da6">More...</a><br/></td></tr>
<tr class="separator:ad4e16866fee3f6ee5a10efb5be6f4da6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af29e0113f661e1fbbecc20c268a3be6e"><td class="memItemLeft" align="right" valign="top">std::chrono::system_clock::time_point&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#af29e0113f661e1fbbecc20c268a3be6e">deadline</a> ()</td></tr>
<tr class="memdesc:af29e0113f661e1fbbecc20c268a3be6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the deadline for the client call. <a href="#af29e0113f661e1fbbecc20c268a3be6e">More...</a><br/></td></tr>
<tr class="separator:af29e0113f661e1fbbecc20c268a3be6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5057cab6d547678dded90c024efab652"><td class="memItemLeft" align="right" valign="top">gpr_timespec&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a5057cab6d547678dded90c024efab652">raw_deadline</a> ()</td></tr>
<tr class="memdesc:a5057cab6d547678dded90c024efab652"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a <em>gpr_timespec</em> representation of the client call's deadline. <a href="#a5057cab6d547678dded90c024efab652">More...</a><br/></td></tr>
<tr class="separator:a5057cab6d547678dded90c024efab652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43bb17bbd6ab49face3793e8883c5682"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a43bb17bbd6ab49face3793e8883c5682">set_authority</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;authority)</td></tr>
<tr class="memdesc:a43bb17bbd6ab49face3793e8883c5682"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the per call authority header (see <a href="https://tools.ietf.org/html/rfc7540#section-8.1.2.3">https://tools.ietf.org/html/rfc7540#section-8.1.2.3</a>). <a href="#a43bb17bbd6ab49face3793e8883c5682">More...</a><br/></td></tr>
<tr class="separator:a43bb17bbd6ab49face3793e8883c5682"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1bbd84015982b7bd9cd1e847edfde25"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; const <br class="typebreak"/>
<a class="el" href="classgrpc_1_1_auth_context.html">AuthContext</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#aa1bbd84015982b7bd9cd1e847edfde25">auth_context</a> () const </td></tr>
<tr class="memdesc:aa1bbd84015982b7bd9cd1e847edfde25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the authentication context for this client call. <a href="#aa1bbd84015982b7bd9cd1e847edfde25">More...</a><br/></td></tr>
<tr class="separator:aa1bbd84015982b7bd9cd1e847edfde25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac09d9bcb018a58c970adbab7ecd201cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#ac09d9bcb018a58c970adbab7ecd201cb">set_credentials</a> (const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_credentials.html">Credentials</a> &gt; &amp;creds)</td></tr>
<tr class="memdesc:ac09d9bcb018a58c970adbab7ecd201cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set credentials for the client call. <a href="#ac09d9bcb018a58c970adbab7ecd201cb">More...</a><br/></td></tr>
<tr class="separator:ac09d9bcb018a58c970adbab7ecd201cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91691d52182f45043ce9698424d26a56"><td class="memItemLeft" align="right" valign="top">grpc_compression_algorithm&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a91691d52182f45043ce9698424d26a56">compression_algorithm</a> () const </td></tr>
<tr class="memdesc:a91691d52182f45043ce9698424d26a56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the compression algorithm to be used by the client call. <a href="#a91691d52182f45043ce9698424d26a56">More...</a><br/></td></tr>
<tr class="separator:a91691d52182f45043ce9698424d26a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67a71b32afe1d71189aa3a24146ec61d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a67a71b32afe1d71189aa3a24146ec61d">set_compression_algorithm</a> (grpc_compression_algorithm algorithm)</td></tr>
<tr class="memdesc:a67a71b32afe1d71189aa3a24146ec61d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set <em>algorithm</em> to be the compression algorithm used for the client call. <a href="#a67a71b32afe1d71189aa3a24146ec61d">More...</a><br/></td></tr>
<tr class="separator:a67a71b32afe1d71189aa3a24146ec61d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1bbd84015982b7bd9cd1e847edfde25"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; const <br class="typebreak"/>
<a class="el" href="classgrpc_1_1_auth_context.html">AuthContext</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#aa1bbd84015982b7bd9cd1e847edfde25">auth_context</a> () const </td></tr>
<tr class="separator:aa1bbd84015982b7bd9cd1e847edfde25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a905d667d96613e022cd83c13dbedb4c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a905d667d96613e022cd83c13dbedb4c3">peer</a> () const </td></tr>
<tr class="memdesc:a905d667d96613e022cd83c13dbedb4c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the peer uri in a string. <a href="#a905d667d96613e022cd83c13dbedb4c3">More...</a><br/></td></tr>
<tr class="separator:a905d667d96613e022cd83c13dbedb4c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48672c1e42084d2cd6975746b84658dd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a48672c1e42084d2cd6975746b84658dd">set_census_context</a> (struct <a class="el" href="classgrpc_1_1_client_context.html#a958acd964fe9feb32bca775c96ad5117">census_context</a> *ccp)</td></tr>
<tr class="memdesc:a48672c1e42084d2cd6975746b84658dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get and set census context. <a href="#a48672c1e42084d2cd6975746b84658dd">More...</a><br/></td></tr>
<tr class="separator:a48672c1e42084d2cd6975746b84658dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a958acd964fe9feb32bca775c96ad5117"><td class="memItemLeft" align="right" valign="top">struct census_context *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a958acd964fe9feb32bca775c96ad5117">census_context</a> () const </td></tr>
<tr class="separator:a958acd964fe9feb32bca775c96ad5117"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd0f6715c30287b75288015eee628984"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#abd0f6715c30287b75288015eee628984">TryCancel</a> ()</td></tr>
<tr class="memdesc:abd0f6715c30287b75288015eee628984"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a best-effort out-of-band cancel. <a href="#abd0f6715c30287b75288015eee628984">More...</a><br/></td></tr>
<tr class="separator:abd0f6715c30287b75288015eee628984"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a6e07af41b550bf697ee8063e5baae967"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr<br class="typebreak"/>
&lt; <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a6e07af41b550bf697ee8063e5baae967">FromServerContext</a> (const <a class="el" href="classgrpc_1_1_server_context.html">ServerContext</a> &amp;server_context, <a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> options=<a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>())</td></tr>
<tr class="memdesc:a6e07af41b550bf697ee8063e5baae967"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <em><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a></em> as a child of an incoming server call, according to <em>options</em> (. <a href="#a6e07af41b550bf697ee8063e5baae967">More...</a><br/></td></tr>
<tr class="separator:a6e07af41b550bf697ee8063e5baae967"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ac4ab4e2d21681704cee0f6e741cc813c"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#ac4ab4e2d21681704cee0f6e741cc813c">::grpc::testing::InteropClientContextInspector</a></td></tr>
<tr class="separator:ac4ab4e2d21681704cee0f6e741cc813c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7c3f046b48d55b5a82cbee3fd84faa2"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#aa7c3f046b48d55b5a82cbee3fd84faa2">CallOpClientRecvStatus</a></td></tr>
<tr class="separator:aa7c3f046b48d55b5a82cbee3fd84faa2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94ad025954d211da7d27efa58cb2ea91"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a94ad025954d211da7d27efa58cb2ea91">CallOpRecvInitialMetadata</a></td></tr>
@ -167,9 +193,9 @@ Friends</h2></td></tr>
<tr class="memitem:a4b00162a9bd86e07669f2af67f85c73a"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a4b00162a9bd86e07669f2af67f85c73a"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a4b00162a9bd86e07669f2af67f85c73a">::grpc::ClientAsyncResponseReader</a></td></tr>
<tr class="separator:a4b00162a9bd86e07669f2af67f85c73a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aac0a120f3498d1151460ef89ce8446"><td class="memTemplParams" colspan="2">template&lt;class InputMessage , class OutputMessage &gt; </td></tr>
<tr class="memitem:a4aac0a120f3498d1151460ef89ce8446"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#a4aac0a120f3498d1151460ef89ce8446">BlockingUnaryCall</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const InputMessage &amp;request, OutputMessage *result)</td></tr>
<tr class="separator:a4aac0a120f3498d1151460ef89ce8446"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac574143322bf2bc6bd324ccb22d40756"><td class="memTemplParams" colspan="2">template&lt;class InputMessage , class OutputMessage &gt; </td></tr>
<tr class="memitem:ac574143322bf2bc6bd324ccb22d40756"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_context.html#ac574143322bf2bc6bd324ccb22d40756">BlockingUnaryCall</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const InputMessage &amp;request, OutputMessage *result)</td></tr>
<tr class="separator:ac574143322bf2bc6bd324ccb22d40756"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="acabbcf3c160a0628da8a9274b10f54b9"></a>
@ -227,6 +253,17 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Add the (<em>meta_key</em>, <em>meta_value</em>) pair to the metadata associated with a client call. </p>
<p>These are made available at the server side by the <em><a class="el" href="classgrpc_1_1_server_context.html#a144de24bd56a8950676ba91913cc74ce">grpc::ServerContext::client_metadata()</a></em> method.</p>
<dl class="section warning"><dt>Warning</dt><dd>This method should only be called before invoking the rpc.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">meta_key</td><td>The metadata key. If <em>meta_value</em> is binary data, it must end in "-bin". </td></tr>
<tr><td class="paramname">meta_value</td><td>The metadata value. If its value is binary, it must be base64-encoding (see <a href="https://tools.ietf.org/html/rfc4648#section-4">https://tools.ietf.org/html/rfc4648#section-4</a>) and <em>meta_key</em> must end in "-bin". </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa1bbd84015982b7bd9cd1e847edfde25"></a>
@ -242,6 +279,9 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Return the authentication context for this client call. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classgrpc_1_1_auth_context.html" title="Class encapsulating the Authentication Information. ">grpc::AuthContext</a>. </dd></dl>
</div>
</div>
<a class="anchor" id="a958acd964fe9feb32bca775c96ad5117"></a>
@ -288,6 +328,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Return the compression algorithm to be used by the client call. </p>
</div>
</div>
<a class="anchor" id="af29e0113f661e1fbbecc20c268a3be6e"></a>
@ -311,9 +353,11 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Return the deadline for the client call. </p>
</div>
</div>
<a class="anchor" id="a971f592cb4c3d4cc4be227c413264d15"></a>
<a class="anchor" id="a6e07af41b550bf697ee8063e5baae967"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -321,7 +365,52 @@ Friends</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::multimap&lt;<a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&gt;&amp; grpc::ClientContext::GetServerInitialMetadata </td>
<td class="memname">std::unique_ptr&lt; <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> &gt; grpc::ClientContext::FromServerContext </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1_server_context.html">ServerContext</a> &amp;&#160;</td>
<td class="paramname"><em>server_context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>&#160;</td>
<td class="paramname"><em>options</em> = <code><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new <em><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a></em> as a child of an incoming server call, according to <em>options</em> (. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classgrpc_1_1_propagation_options.html" title="Options for ClientContext::FromServerContext specifying which traits from the ServerContext to propag...">PropagationOptions</a>).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">server_context</td><td>The source server context to use as the basis for constructing the client context. </td></tr>
<tr><td class="paramname">options</td><td>The options controlling what to copy from the <em>server_context</em>.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A newly constructed <em><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a></em> instance based on <em>server_context</em>, with traits propagated (copied) according to <em>options</em>. </dd></dl>
</div>
</div>
<a class="anchor" id="a3dd6ec0742cbc84e5a83acab009c5f38"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::multimap&lt;<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>&gt;&amp; grpc::ClientContext::GetServerInitialMetadata </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@ -334,9 +423,14 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Return a collection of initial metadata key-value pairs. </p>
<p>Note that keys may happen more than once (ie, a <em>std::multimap</em> is returned).</p>
<dl class="section warning"><dt>Warning</dt><dd>This method should only be called after initial metadata has been received. For streaming calls, see <em><a class="el" href="classgrpc_1_1_client_reader_interface.html#aee87dd6e3e8a40853207ceb53b590b19" title="Blocking wait for initial metadata from server. ">ClientReaderInterface::WaitForInitialMetadata()</a></em>.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>A multimap of initial metadata key-value pairs from the server. </dd></dl>
</div>
</div>
<a class="anchor" id="ab2ad079046a7f9e6dba922274e11aaa3"></a>
<a class="anchor" id="a06cd5278c2d242bdd6a8f62fd6c87a93"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -344,7 +438,7 @@ Friends</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const std::multimap&lt;<a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&gt;&amp; grpc::ClientContext::GetServerTrailingMetadata </td>
<td class="memname">const std::multimap&lt;<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>&gt;&amp; grpc::ClientContext::GetServerTrailingMetadata </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@ -357,6 +451,11 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Return a collection of trailing metadata key-value pairs. </p>
<p>Note that keys may happen more than once (ie, a <em>std::multimap</em> is returned).</p>
<dl class="section warning"><dt>Warning</dt><dd>This method is only callable once the stream has finished.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>A multimap of metadata trailing key-value pairs from the server. </dd></dl>
</div>
</div>
<a class="anchor" id="a905d667d96613e022cd83c13dbedb4c3"></a>
@ -372,6 +471,10 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Return the peer uri in a string. </p>
<dl class="section warning"><dt>Warning</dt><dd>This value is never authenticated or subject to any security related code. It must not be used for any authentication related functionality. Instead, use auth_context.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The call's peer URI. </dd></dl>
</div>
</div>
<a class="anchor" id="a5057cab6d547678dded90c024efab652"></a>
@ -395,6 +498,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Return a <em>gpr_timespec</em> representation of the client call's deadline. </p>
</div>
</div>
<a class="anchor" id="a43bb17bbd6ab49face3793e8883c5682"></a>
@ -419,6 +524,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Set the per call authority header (see <a href="https://tools.ietf.org/html/rfc7540#section-8.1.2.3">https://tools.ietf.org/html/rfc7540#section-8.1.2.3</a>). </p>
</div>
</div>
<a class="anchor" id="a48672c1e42084d2cd6975746b84658dd"></a>
@ -443,6 +550,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Get and set census context. </p>
</div>
</div>
<a class="anchor" id="a67a71b32afe1d71189aa3a24146ec61d"></a>
@ -459,6 +568,14 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Set <em>algorithm</em> to be the compression algorithm used for the client call. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">algorith</td><td>The compression algorithm used for the client call. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ac09d9bcb018a58c970adbab7ecd201cb"></a>
@ -483,6 +600,10 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Set credentials for the client call. </p>
<p>A credentials object encapsulates all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client’s identity, role, or whether it is authorized to make a particular call.</p>
<dl class="section see"><dt>See Also</dt><dd><a href="https://github.com/grpc/grpc/blob/master/doc/grpc-auth-support.md">https://github.com/grpc/grpc/blob/master/doc/grpc-auth-support.md</a> </dd></dl>
</div>
</div>
<a class="anchor" id="ad4e16866fee3f6ee5a10efb5be6f4da6"></a>
@ -509,6 +630,15 @@ template&lt;typename T &gt; </div>
</table>
</div><div class="memdoc">
<p>Set the deadline for the client call. </p>
<dl class="section warning"><dt>Warning</dt><dd>This method should only be called before invoking the rpc.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deadline</td><td>the deadline for the client call. Units are determined by the type used. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="abd0f6715c30287b75288015eee628984"></a>
@ -524,6 +654,10 @@ template&lt;typename T &gt; </div>
</table>
</div><div class="memdoc">
<p>Send a best-effort out-of-band cancel. </p>
<p>The call could be in any stage. e.g. if it is already finished, it may still return success.</p>
<p>There is no guarantee the call will be cancelled. </p>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
@ -681,7 +815,27 @@ template&lt;class W &gt; </div>
</div>
</div>
<a class="anchor" id="a4aac0a120f3498d1151460ef89ce8446"></a>
<a class="anchor" id="ac4ab4e2d21681704cee0f6e741cc813c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class ::grpc::testing::InteropClientContextInspector</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac574143322bf2bc6bd324ccb22d40756"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@ -693,7 +847,7 @@ template&lt;class InputMessage , class OutputMessage &gt; </div>
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_status.html">Status</a> BlockingUnaryCall </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
@ -802,7 +956,7 @@ template&lt;class InputMessage , class OutputMessage &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,18 +94,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="client__context_8h_source.html">client_context.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="channel_8h_source.html">channel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abf0d84e441443c364b29b206fd7d0c56"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:abf0d84e441443c364b29b206fd7d0c56"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html#abf0d84e441443c364b29b206fd7d0c56">ClientReader</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const W &amp;request)</td></tr>
<tr class="separator:abf0d84e441443c364b29b206fd7d0c56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b80c116ac7198c3f3bd099cf4482cee"><td class="memTemplParams" colspan="2">template&lt;class W &gt; </td></tr>
<tr class="memitem:a4b80c116ac7198c3f3bd099cf4482cee"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html#a4b80c116ac7198c3f3bd099cf4482cee">ClientReader</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const W &amp;request)</td></tr>
<tr class="memdesc:a4b80c116ac7198c3f3bd099cf4482cee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking create a stream and write the first request out. <a href="#a4b80c116ac7198c3f3bd099cf4482cee">More...</a><br/></td></tr>
<tr class="separator:a4b80c116ac7198c3f3bd099cf4482cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad471c81c02db253508b9fd599beab93e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html#ad471c81c02db253508b9fd599beab93e">WaitForInitialMetadata</a> ()</td></tr>
<tr class="memdesc:ad471c81c02db253508b9fd599beab93e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking wait for initial metadata from server. <a href="#ad471c81c02db253508b9fd599beab93e">More...</a><br/></td></tr>
<tr class="separator:ad471c81c02db253508b9fd599beab93e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1305f6a3159b73866b4b66621f573ae7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html#a1305f6a3159b73866b4b66621f573ae7">Read</a> (R *msg) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a1305f6a3159b73866b4b66621f573ae7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking read a message and parse to <em>msg</em>. <a href="#a1305f6a3159b73866b4b66621f573ae7">More...</a><br/></td></tr>
<tr class="separator:a1305f6a3159b73866b4b66621f573ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb69eb7672e42eb09fbc4d7110d142df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader.html#abb69eb7672e42eb09fbc4d7110d142df">Finish</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:abb69eb7672e42eb09fbc4d7110d142df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait until the stream finishes, and return the final status. <a href="#abb69eb7672e42eb09fbc4d7110d142df">More...</a><br/></td></tr>
<tr class="separator:abb69eb7672e42eb09fbc4d7110d142df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_streaming_interface.html">grpc::ClientStreamingInterface</a></td></tr>
<tr class="memitem:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e">~ClientStreamingInterface</a> ()</td></tr>
@ -115,7 +119,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a1fbd3d6e86e2f97e5444f29b0af0a9d5 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="abf0d84e441443c364b29b206fd7d0c56"></a>
<a class="anchor" id="a4b80c116ac7198c3f3bd099cf4482cee"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@ -129,7 +133,7 @@ template&lt;class W &gt; </div>
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_client_reader.html">grpc::ClientReader</a>&lt; R &gt;::<a class="el" href="classgrpc_1_1_client_reader.html">ClientReader</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
@ -163,6 +167,8 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking create a stream and write the first request out. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
@ -189,6 +195,14 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Wait until the stream finishes, and return the final status. </p>
<p>When the client side declares it has no more message to send, either implicitly or by calling <em>WritesDone()</em>, it needs to make sure there is no more message to be received from the server, either implicitly or by getting a false from a <em><a class="el" href="classgrpc_1_1_client_reader.html#a1305f6a3159b73866b4b66621f573ae7" title="Blocking read a message and parse to msg. ">Read()</a></em>.</p>
<p>This function will return either:</p>
<ul>
<li>when all incoming messages have been read and the server has returned status.</li>
<li>OR when the server has returned a non-OK status. </li>
</ul>
<p>Implements <a class="el" href="classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4">grpc::ClientStreamingInterface</a>.</p>
</div>
@ -217,6 +231,16 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking read a message and parse to <em>msg</em>. </p>
<p>Returns <em>true</em> on success.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">msg</td><td>The read message.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><em>false</em> when there will be no more incoming messages, either because the other side has called <em>WritesDone()</em> or the stream has failed (or been cancelled). </dd></dl>
<p>Implements <a class="el" href="classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8">grpc::ReaderInterface&lt; R &gt;</a>.</p>
</div>
@ -244,18 +268,22 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking wait for initial metadata from server. </p>
<p>The received metadata can only be accessed after this call returns. Should only be called before the first read. Calling this method is optional, and if it is not called the metadata will be available in <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> after the first read. </p>
<p>status ignored </p>
<p>Implements <a class="el" href="classgrpc_1_1_client_reader_interface.html#aee87dd6e3e8a40853207ceb53b590b19">grpc::ClientReaderInterface&lt; R &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="client__context_8h_source.html">client_context.h</a></li>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/<a class="el" href="channel_8h_source.html">channel.h</a></li>
<li>include/grpc++/support/<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,24 +94,35 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>Client-side interface for streaming reads of message of type <em>R</em>.
<a href="classgrpc_1_1_client_reader_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aee87dd6e3e8a40853207ceb53b590b19"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_interface.html#aee87dd6e3e8a40853207ceb53b590b19">WaitForInitialMetadata</a> ()=0</td></tr>
<tr class="memdesc:aee87dd6e3e8a40853207ceb53b590b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking wait for initial metadata from server. <a href="#aee87dd6e3e8a40853207ceb53b590b19">More...</a><br/></td></tr>
<tr class="separator:aee87dd6e3e8a40853207ceb53b590b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_streaming_interface.html">grpc::ClientStreamingInterface</a></td></tr>
<tr class="memitem:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e">~ClientStreamingInterface</a> ()</td></tr>
<tr class="separator:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98e2927a42c793017ce7d8c6e88539c4 inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4">Finish</a> ()=0</td></tr>
<tr class="memdesc:a98e2927a42c793017ce7d8c6e88539c4 inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait until the stream finishes, and return the final status. <a href="#a98e2927a42c793017ce7d8c6e88539c4">More...</a><br/></td></tr>
<tr class="separator:a98e2927a42c793017ce7d8c6e88539c4 inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_reader_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_reader_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_reader_interface.html">grpc::ReaderInterface&lt; R &gt;</a></td></tr>
<tr class="memitem:a1fbd3d6e86e2f97e5444f29b0af0a9d5 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_reader_interface.html#a1fbd3d6e86e2f97e5444f29b0af0a9d5">~ReaderInterface</a> ()</td></tr>
<tr class="separator:a1fbd3d6e86e2f97e5444f29b0af0a9d5 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04a1da8610d790ea86ecd5a14fe892b8 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8">Read</a> (R *msg)=0</td></tr>
<tr class="memdesc:a04a1da8610d790ea86ecd5a14fe892b8 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking read a message and parse to <em>msg</em>. <a href="#a04a1da8610d790ea86ecd5a14fe892b8">More...</a><br/></td></tr>
<tr class="separator:a04a1da8610d790ea86ecd5a14fe892b8 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class R&gt;<br/>
class grpc::ClientReaderInterface&lt; R &gt;</h3>
<p>Client-side interface for streaming reads of message of type <em>R</em>. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aee87dd6e3e8a40853207ceb53b590b19"></a>
<div class="memitem">
<div class="memproto">
@ -135,17 +146,20 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking wait for initial metadata from server. </p>
<p>The received metadata can only be accessed after this call returns. Should only be called before the first read. Calling this method is optional, and if it is not called the metadata will be available in <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> after the first read. </p>
<p>Implemented in <a class="el" href="classgrpc_1_1_client_reader.html#ad471c81c02db253508b9fd599beab93e">grpc::ClientReader&lt; R &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,21 +94,27 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="client__context_8h_source.html">client_context.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="channel_8h_source.html">channel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a787e8b30520c9b32ef877bf1d3298dcc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer.html#a787e8b30520c9b32ef877bf1d3298dcc">ClientReaderWriter</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context)</td></tr>
<tr class="separator:a787e8b30520c9b32ef877bf1d3298dcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2752b22a9e7dff2c3205987497611e42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer.html#a2752b22a9e7dff2c3205987497611e42">ClientReaderWriter</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context)</td></tr>
<tr class="memdesc:a2752b22a9e7dff2c3205987497611e42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking create a stream. <a href="#a2752b22a9e7dff2c3205987497611e42">More...</a><br/></td></tr>
<tr class="separator:a2752b22a9e7dff2c3205987497611e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af19ce81004b69300aa18d9ce14be29be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer.html#af19ce81004b69300aa18d9ce14be29be">WaitForInitialMetadata</a> ()</td></tr>
<tr class="memdesc:af19ce81004b69300aa18d9ce14be29be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking wait for initial metadata from server. <a href="#af19ce81004b69300aa18d9ce14be29be">More...</a><br/></td></tr>
<tr class="separator:af19ce81004b69300aa18d9ce14be29be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcf4e48162a850ae106e9d2f6fd03d0c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer.html#adcf4e48162a850ae106e9d2f6fd03d0c">Read</a> (R *msg) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:adcf4e48162a850ae106e9d2f6fd03d0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking read a message and parse to <em>msg</em>. <a href="#adcf4e48162a850ae106e9d2f6fd03d0c">More...</a><br/></td></tr>
<tr class="separator:adcf4e48162a850ae106e9d2f6fd03d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e579c3ff2854b7776fe125a0a0cf762"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer.html#a5e579c3ff2854b7776fe125a0a0cf762">Write</a> (const W &amp;msg, const <a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> &amp;options) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a5e579c3ff2854b7776fe125a0a0cf762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking write <em>msg</em> to the stream with options. <a href="#a5e579c3ff2854b7776fe125a0a0cf762">More...</a><br/></td></tr>
<tr class="separator:a5e579c3ff2854b7776fe125a0a0cf762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ed775777711d64b848f31260aef2898"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer.html#a5ed775777711d64b848f31260aef2898">WritesDone</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a5ed775777711d64b848f31260aef2898"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block until writes are completed. <a href="#a5ed775777711d64b848f31260aef2898">More...</a><br/></td></tr>
<tr class="separator:a5ed775777711d64b848f31260aef2898"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabd46ba35f39419bbcfeff8c0843c116"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer.html#aabd46ba35f39419bbcfeff8c0843c116">Finish</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:aabd46ba35f39419bbcfeff8c0843c116"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait until the stream finishes, and return the final status. <a href="#aabd46ba35f39419bbcfeff8c0843c116">More...</a><br/></td></tr>
<tr class="separator:aabd46ba35f39419bbcfeff8c0843c116"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_streaming_interface.html">grpc::ClientStreamingInterface</a></td></tr>
<tr class="memitem:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e">~ClientStreamingInterface</a> ()</td></tr>
@ -117,13 +123,14 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a447d71736fb6e8c6bd21287ecc3a9f75 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#a447d71736fb6e8c6bd21287ecc3a9f75">~WriterInterface</a> ()</td></tr>
<tr class="separator:a447d71736fb6e8c6bd21287ecc3a9f75 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#a5ddbce2a74455afea61fc21e16b01c6a">Write</a> (const W &amp;msg)</td></tr>
<tr class="memdesc:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking write <em>msg</em> to the stream with default options. <a href="#a5ddbce2a74455afea61fc21e16b01c6a">More...</a><br/></td></tr>
<tr class="separator:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_reader_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_reader_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_reader_interface.html">grpc::ReaderInterface&lt; R &gt;</a></td></tr>
<tr class="memitem:a1fbd3d6e86e2f97e5444f29b0af0a9d5 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_reader_interface.html#a1fbd3d6e86e2f97e5444f29b0af0a9d5">~ReaderInterface</a> ()</td></tr>
<tr class="separator:a1fbd3d6e86e2f97e5444f29b0af0a9d5 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a787e8b30520c9b32ef877bf1d3298dcc"></a>
<a class="anchor" id="a2752b22a9e7dff2c3205987497611e42"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@ -135,7 +142,7 @@ template&lt;class R , class W &gt; </div>
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_client_reader_writer.html">grpc::ClientReaderWriter</a>&lt; R, W &gt;::<a class="el" href="classgrpc_1_1_client_reader_writer.html">ClientReaderWriter</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
@ -163,6 +170,8 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking create a stream. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
@ -189,6 +198,14 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Wait until the stream finishes, and return the final status. </p>
<p>When the client side declares it has no more message to send, either implicitly or by calling <em><a class="el" href="classgrpc_1_1_client_reader_writer.html#a5ed775777711d64b848f31260aef2898" title="Block until writes are completed. ">WritesDone()</a></em>, it needs to make sure there is no more message to be received from the server, either implicitly or by getting a false from a <em><a class="el" href="classgrpc_1_1_client_reader_writer.html#adcf4e48162a850ae106e9d2f6fd03d0c" title="Blocking read a message and parse to msg. ">Read()</a></em>.</p>
<p>This function will return either:</p>
<ul>
<li>when all incoming messages have been read and the server has returned status.</li>
<li>OR when the server has returned a non-OK status. </li>
</ul>
<p>Implements <a class="el" href="classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4">grpc::ClientStreamingInterface</a>.</p>
</div>
@ -217,6 +234,16 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking read a message and parse to <em>msg</em>. </p>
<p>Returns <em>true</em> on success.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">msg</td><td>The read message.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><em>false</em> when there will be no more incoming messages, either because the other side has called <em><a class="el" href="classgrpc_1_1_client_reader_writer.html#a5ed775777711d64b848f31260aef2898" title="Block until writes are completed. ">WritesDone()</a></em> or the stream has failed (or been cancelled). </dd></dl>
<p>Implements <a class="el" href="classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8">grpc::ReaderInterface&lt; R &gt;</a>.</p>
</div>
@ -244,6 +271,9 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking wait for initial metadata from server. </p>
<p>The received metadata can only be accessed after this call returns. Should only be called before the first read. Calling this method is optional, and if it is not called the metadata will be available in <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> after the first read. </p>
<p>Implements <a class="el" href="classgrpc_1_1_client_reader_writer_interface.html#a6ead554cc1b991f2289b26fb80fdde5e">grpc::ClientReaderWriterInterface&lt; W, R &gt;</a>.</p>
</div>
@ -282,6 +312,16 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking write <em>msg</em> to the stream with options. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>The message to be written to the stream. </td></tr>
<tr><td class="paramname">options</td><td>Options affecting the write operation.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><em>true</em> on success, <em>false</em> when the stream has been closed. </dd></dl>
<p>Implements <a class="el" href="classgrpc_1_1_writer_interface.html#aa6b2aeb8957265b62bdc063b48f15d44">grpc::WriterInterface&lt; W &gt;</a>.</p>
</div>
@ -309,18 +349,21 @@ template&lt;class R , class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Block until writes are completed. </p>
<dl class="section return"><dt>Returns</dt><dd>Whether the writes were successful. </dd></dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_reader_writer_interface.html#a52f4e5d5ac7fe0e4995cb337aa0ecfc8">grpc::ClientReaderWriterInterface&lt; W, R &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="client__context_8h_source.html">client_context.h</a></li>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/<a class="el" href="channel_8h_source.html">channel.h</a></li>
<li>include/grpc++/support/<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,33 +94,47 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>Client-side interface for bi-directional streaming.
<a href="classgrpc_1_1_client_reader_writer_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6ead554cc1b991f2289b26fb80fdde5e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer_interface.html#a6ead554cc1b991f2289b26fb80fdde5e">WaitForInitialMetadata</a> ()=0</td></tr>
<tr class="memdesc:a6ead554cc1b991f2289b26fb80fdde5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking wait for initial metadata from server. <a href="#a6ead554cc1b991f2289b26fb80fdde5e">More...</a><br/></td></tr>
<tr class="separator:a6ead554cc1b991f2289b26fb80fdde5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52f4e5d5ac7fe0e4995cb337aa0ecfc8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_reader_writer_interface.html#a52f4e5d5ac7fe0e4995cb337aa0ecfc8">WritesDone</a> ()=0</td></tr>
<tr class="memdesc:a52f4e5d5ac7fe0e4995cb337aa0ecfc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block until writes are completed. <a href="#a52f4e5d5ac7fe0e4995cb337aa0ecfc8">More...</a><br/></td></tr>
<tr class="separator:a52f4e5d5ac7fe0e4995cb337aa0ecfc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_streaming_interface.html">grpc::ClientStreamingInterface</a></td></tr>
<tr class="memitem:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e">~ClientStreamingInterface</a> ()</td></tr>
<tr class="separator:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98e2927a42c793017ce7d8c6e88539c4 inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4">Finish</a> ()=0</td></tr>
<tr class="memdesc:a98e2927a42c793017ce7d8c6e88539c4 inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait until the stream finishes, and return the final status. <a href="#a98e2927a42c793017ce7d8c6e88539c4">More...</a><br/></td></tr>
<tr class="separator:a98e2927a42c793017ce7d8c6e88539c4 inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_writer_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_writer_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_writer_interface.html">grpc::WriterInterface&lt; W &gt;</a></td></tr>
<tr class="memitem:a447d71736fb6e8c6bd21287ecc3a9f75 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#a447d71736fb6e8c6bd21287ecc3a9f75">~WriterInterface</a> ()</td></tr>
<tr class="separator:a447d71736fb6e8c6bd21287ecc3a9f75 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6b2aeb8957265b62bdc063b48f15d44 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#aa6b2aeb8957265b62bdc063b48f15d44">Write</a> (const W &amp;msg, const <a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> &amp;options)=0</td></tr>
<tr class="memdesc:aa6b2aeb8957265b62bdc063b48f15d44 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking write <em>msg</em> to the stream with options. <a href="#aa6b2aeb8957265b62bdc063b48f15d44">More...</a><br/></td></tr>
<tr class="separator:aa6b2aeb8957265b62bdc063b48f15d44 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#a5ddbce2a74455afea61fc21e16b01c6a">Write</a> (const W &amp;msg)</td></tr>
<tr class="memdesc:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking write <em>msg</em> to the stream with default options. <a href="#a5ddbce2a74455afea61fc21e16b01c6a">More...</a><br/></td></tr>
<tr class="separator:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_reader_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_reader_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_reader_interface.html">grpc::ReaderInterface&lt; R &gt;</a></td></tr>
<tr class="memitem:a1fbd3d6e86e2f97e5444f29b0af0a9d5 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_reader_interface.html#a1fbd3d6e86e2f97e5444f29b0af0a9d5">~ReaderInterface</a> ()</td></tr>
<tr class="separator:a1fbd3d6e86e2f97e5444f29b0af0a9d5 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04a1da8610d790ea86ecd5a14fe892b8 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8">Read</a> (R *msg)=0</td></tr>
<tr class="memdesc:a04a1da8610d790ea86ecd5a14fe892b8 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking read a message and parse to <em>msg</em>. <a href="#a04a1da8610d790ea86ecd5a14fe892b8">More...</a><br/></td></tr>
<tr class="separator:a04a1da8610d790ea86ecd5a14fe892b8 inherit pub_methods_classgrpc_1_1_reader_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class W, class R&gt;<br/>
class grpc::ClientReaderWriterInterface&lt; W, R &gt;</h3>
<p>Client-side interface for bi-directional streaming. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a6ead554cc1b991f2289b26fb80fdde5e"></a>
<div class="memitem">
<div class="memproto">
@ -144,6 +158,9 @@ template&lt;class W , class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking wait for initial metadata from server. </p>
<p>The received metadata can only be accessed after this call returns. Should only be called before the first read. Calling this method is optional, and if it is not called the metadata will be available in <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> after the first read. </p>
<p>Implemented in <a class="el" href="classgrpc_1_1_client_reader_writer.html#af19ce81004b69300aa18d9ce14be29be">grpc::ClientReaderWriter&lt; R, W &gt;</a>.</p>
</div>
@ -171,17 +188,20 @@ template&lt;class W , class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Block until writes are completed. </p>
<dl class="section return"><dt>Returns</dt><dd>Whether the writes were successful. </dd></dl>
<p>Implemented in <a class="el" href="classgrpc_1_1_client_reader_writer.html#a5ed775777711d64b848f31260aef2898">grpc::ClientReaderWriter&lt; R, W &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -179,7 +179,7 @@ template&lt;class ServiceType , class RequestType , class ResponseType &gt; </di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,16 +94,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>Common interface for all synchronous client side streaming.
<a href="classgrpc_1_1_client_streaming_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a312c9454c0f950e1c75b5c802bcbb00e"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e">~ClientStreamingInterface</a> ()</td></tr>
<tr class="separator:a312c9454c0f950e1c75b5c802bcbb00e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98e2927a42c793017ce7d8c6e88539c4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4">Finish</a> ()=0</td></tr>
<tr class="memdesc:a98e2927a42c793017ce7d8c6e88539c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait until the stream finishes, and return the final status. <a href="#a98e2927a42c793017ce7d8c6e88539c4">More...</a><br/></td></tr>
<tr class="separator:a98e2927a42c793017ce7d8c6e88539c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Common interface for all synchronous client side streaming. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a312c9454c0f950e1c75b5c802bcbb00e"></a>
<div class="memitem">
<div class="memproto">
@ -149,17 +155,25 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Wait until the stream finishes, and return the final status. </p>
<p>When the client side declares it has no more message to send, either implicitly or by calling <em>WritesDone()</em>, it needs to make sure there is no more message to be received from the server, either implicitly or by getting a false from a <em>Read()</em>.</p>
<p>This function will return either:</p>
<ul>
<li>when all incoming messages have been read and the server has returned status.</li>
<li>OR when the server has returned a non-OK status. </li>
</ul>
<p>Implemented in <a class="el" href="classgrpc_1_1_client_reader_writer.html#aabd46ba35f39419bbcfeff8c0843c116">grpc::ClientReaderWriter&lt; R, W &gt;</a>, <a class="el" href="classgrpc_1_1_client_writer.html#afe847df1fec5c40f6650498c026eb658">grpc::ClientWriter&lt; W &gt;</a>, and <a class="el" href="classgrpc_1_1_client_reader.html#abb69eb7672e42eb09fbc4d7110d142df">grpc::ClientReader&lt; R &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,18 +94,22 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="client__context_8h_source.html">client_context.h</a>&gt;</code></p>
<p><code>#include &lt;<a class="el" href="channel_8h_source.html">channel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aed7d44896e0630a13409803459bd3cbe"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:aed7d44896e0630a13409803459bd3cbe"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_writer.html#aed7d44896e0630a13409803459bd3cbe">ClientWriter</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, R *response)</td></tr>
<tr class="separator:aed7d44896e0630a13409803459bd3cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fa4f66cde1b0420533c86452fbdf12b"><td class="memTemplParams" colspan="2">template&lt;class R &gt; </td></tr>
<tr class="memitem:a6fa4f66cde1b0420533c86452fbdf12b"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_writer.html#a6fa4f66cde1b0420533c86452fbdf12b">ClientWriter</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, R *response)</td></tr>
<tr class="memdesc:a6fa4f66cde1b0420533c86452fbdf12b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking create a stream. <a href="#a6fa4f66cde1b0420533c86452fbdf12b">More...</a><br/></td></tr>
<tr class="separator:a6fa4f66cde1b0420533c86452fbdf12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c6b81e2d624886c7e86b9b774121e36"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_writer.html#a4c6b81e2d624886c7e86b9b774121e36">Write</a> (const W &amp;msg, const <a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> &amp;options) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a4c6b81e2d624886c7e86b9b774121e36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking write <em>msg</em> to the stream with options. <a href="#a4c6b81e2d624886c7e86b9b774121e36">More...</a><br/></td></tr>
<tr class="separator:a4c6b81e2d624886c7e86b9b774121e36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfb6738c132b9ebe49024dc1bf1e9352"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_writer.html#abfb6738c132b9ebe49024dc1bf1e9352">WritesDone</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:abfb6738c132b9ebe49024dc1bf1e9352"><td class="mdescLeft">&#160;</td><td class="mdescRight">Half close writing from the client. <a href="#abfb6738c132b9ebe49024dc1bf1e9352">More...</a><br/></td></tr>
<tr class="separator:abfb6738c132b9ebe49024dc1bf1e9352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe847df1fec5c40f6650498c026eb658"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_writer.html#afe847df1fec5c40f6650498c026eb658">Finish</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:afe847df1fec5c40f6650498c026eb658"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the final response and wait for the final status. <a href="#afe847df1fec5c40f6650498c026eb658">More...</a><br/></td></tr>
<tr class="separator:afe847df1fec5c40f6650498c026eb658"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_streaming_interface.html">grpc::ClientStreamingInterface</a></td></tr>
<tr class="memitem:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e">~ClientStreamingInterface</a> ()</td></tr>
@ -114,10 +118,11 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a447d71736fb6e8c6bd21287ecc3a9f75 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#a447d71736fb6e8c6bd21287ecc3a9f75">~WriterInterface</a> ()</td></tr>
<tr class="separator:a447d71736fb6e8c6bd21287ecc3a9f75 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#a5ddbce2a74455afea61fc21e16b01c6a">Write</a> (const W &amp;msg)</td></tr>
<tr class="memdesc:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking write <em>msg</em> to the stream with default options. <a href="#a5ddbce2a74455afea61fc21e16b01c6a">More...</a><br/></td></tr>
<tr class="separator:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aed7d44896e0630a13409803459bd3cbe"></a>
<a class="anchor" id="a6fa4f66cde1b0420533c86452fbdf12b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@ -131,7 +136,7 @@ template&lt;class R &gt; </div>
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_client_writer.html">grpc::ClientWriter</a>&lt; W &gt;::<a class="el" href="classgrpc_1_1_client_writer.html">ClientWriter</a> </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
@ -165,6 +170,8 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking create a stream. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
@ -191,6 +198,8 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Read the final response and wait for the final status. </p>
<p>Implements <a class="el" href="classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4">grpc::ClientStreamingInterface</a>.</p>
</div>
@ -229,6 +238,16 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking write <em>msg</em> to the stream with options. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">msg</td><td>The message to be written to the stream. </td></tr>
<tr><td class="paramname">options</td><td>Options affecting the write operation.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><em>true</em> on success, <em>false</em> when the stream has been closed. </dd></dl>
<p>Implements <a class="el" href="classgrpc_1_1_writer_interface.html#aa6b2aeb8957265b62bdc063b48f15d44">grpc::WriterInterface&lt; W &gt;</a>.</p>
</div>
@ -256,18 +275,22 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Half close writing from the client. </p>
<p>Block until writes are completed.</p>
<dl class="section return"><dt>Returns</dt><dd>Whether the writes were successful. </dd></dl>
<p>Implements <a class="el" href="classgrpc_1_1_client_writer_interface.html#aff19574252338e9ac1b5446e82ed8ac5">grpc::ClientWriterInterface&lt; W &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="client__context_8h_source.html">client_context.h</a></li>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/<a class="el" href="channel_8h_source.html">channel.h</a></li>
<li>include/grpc++/support/<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,26 +94,38 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>Client-side interface for streaming writes of message of type <em>W</em>.
<a href="classgrpc_1_1_client_writer_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aff19574252338e9ac1b5446e82ed8ac5"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_writer_interface.html#aff19574252338e9ac1b5446e82ed8ac5">WritesDone</a> ()=0</td></tr>
<tr class="memdesc:aff19574252338e9ac1b5446e82ed8ac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Half close writing from the client. <a href="#aff19574252338e9ac1b5446e82ed8ac5">More...</a><br/></td></tr>
<tr class="separator:aff19574252338e9ac1b5446e82ed8ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_client_streaming_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_client_streaming_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_client_streaming_interface.html">grpc::ClientStreamingInterface</a></td></tr>
<tr class="memitem:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e">~ClientStreamingInterface</a> ()</td></tr>
<tr class="separator:a312c9454c0f950e1c75b5c802bcbb00e inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98e2927a42c793017ce7d8c6e88539c4 inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4">Finish</a> ()=0</td></tr>
<tr class="memdesc:a98e2927a42c793017ce7d8c6e88539c4 inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait until the stream finishes, and return the final status. <a href="#a98e2927a42c793017ce7d8c6e88539c4">More...</a><br/></td></tr>
<tr class="separator:a98e2927a42c793017ce7d8c6e88539c4 inherit pub_methods_classgrpc_1_1_client_streaming_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_writer_interface"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_writer_interface')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_writer_interface.html">grpc::WriterInterface&lt; W &gt;</a></td></tr>
<tr class="memitem:a447d71736fb6e8c6bd21287ecc3a9f75 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#a447d71736fb6e8c6bd21287ecc3a9f75">~WriterInterface</a> ()</td></tr>
<tr class="separator:a447d71736fb6e8c6bd21287ecc3a9f75 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6b2aeb8957265b62bdc063b48f15d44 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#aa6b2aeb8957265b62bdc063b48f15d44">Write</a> (const W &amp;msg, const <a class="el" href="classgrpc_1_1_write_options.html">WriteOptions</a> &amp;options)=0</td></tr>
<tr class="memdesc:aa6b2aeb8957265b62bdc063b48f15d44 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking write <em>msg</em> to the stream with options. <a href="#aa6b2aeb8957265b62bdc063b48f15d44">More...</a><br/></td></tr>
<tr class="separator:aa6b2aeb8957265b62bdc063b48f15d44 inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_writer_interface.html#a5ddbce2a74455afea61fc21e16b01c6a">Write</a> (const W &amp;msg)</td></tr>
<tr class="memdesc:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking write <em>msg</em> to the stream with default options. <a href="#a5ddbce2a74455afea61fc21e16b01c6a">More...</a><br/></td></tr>
<tr class="separator:a5ddbce2a74455afea61fc21e16b01c6a inherit pub_methods_classgrpc_1_1_writer_interface"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class W&gt;<br/>
class grpc::ClientWriterInterface&lt; W &gt;</h3>
<p>Client-side interface for streaming writes of message of type <em>W</em>. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aff19574252338e9ac1b5446e82ed8ac5"></a>
<div class="memitem">
<div class="memproto">
@ -137,17 +149,21 @@ template&lt;class W &gt; </div>
</table>
</div><div class="memdoc">
<p>Half close writing from the client. </p>
<p>Block until writes are completed.</p>
<dl class="section return"><dt>Returns</dt><dd>Whether the writes were successful. </dd></dl>
<p>Implemented in <a class="el" href="classgrpc_1_1_client_writer.html#abfb6738c132b9ebe49024dc1bf1e9352">grpc::ClientWriter&lt; W &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -96,6 +96,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p>A thin wrapper around <em>grpc_completion_queue</em> (see / <em>src/core/surface/completion_queue.h</em>).
<a href="classgrpc_1_1_completion_queue.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="completion__queue_8h_source.html">completion_queue.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
@ -104,24 +107,32 @@ Public Types</h2></td></tr>
<a class="el" href="classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572a5d8344849fb99341b7edaa9da7b42c08">GOT_EVENT</a>,
<a class="el" href="classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572ae88eecb45f91413b425511ee973e2e04">TIMEOUT</a>
}</td></tr>
<tr class="memdesc:a6227657fb2f29291f80cd092f9baf572"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tri-state return for AsyncNext: SHUTDOWN, GOT_EVENT, TIMEOUT. <a href="classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572">More...</a><br/></td></tr>
<tr class="separator:a6227657fb2f29291f80cd092f9baf572"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aea987a15a475923e949934e481fe3566"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#aea987a15a475923e949934e481fe3566">CompletionQueue</a> ()</td></tr>
<tr class="memdesc:aea987a15a475923e949934e481fe3566"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <a href="#aea987a15a475923e949934e481fe3566">More...</a><br/></td></tr>
<tr class="separator:aea987a15a475923e949934e481fe3566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a081a954044215a7ca8554da4220fb369"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#a081a954044215a7ca8554da4220fb369">CompletionQueue</a> (grpc_completion_queue *take)</td></tr>
<tr class="memdesc:a081a954044215a7ca8554da4220fb369"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrap <em>take</em>, taking ownership of the instance. <a href="#a081a954044215a7ca8554da4220fb369">More...</a><br/></td></tr>
<tr class="separator:a081a954044215a7ca8554da4220fb369"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0534391b20562e7e4cdc12daf0e36b0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#aa0534391b20562e7e4cdc12daf0e36b0">~CompletionQueue</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:aa0534391b20562e7e4cdc12daf0e36b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. Destroys the owned wrapped completion queue / instance. <a href="#aa0534391b20562e7e4cdc12daf0e36b0">More...</a><br/></td></tr>
<tr class="separator:aa0534391b20562e7e4cdc12daf0e36b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a290ddf3d96e6d1d5886580e60b0602b4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a290ddf3d96e6d1d5886580e60b0602b4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572">NextStatus</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#a290ddf3d96e6d1d5886580e60b0602b4">AsyncNext</a> (void **tag, bool *ok, const T &amp;deadline)</td></tr>
<tr class="memdesc:a290ddf3d96e6d1d5886580e60b0602b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from the queue, blocking up to <em>deadline</em> (or the queue's shutdown). <a href="#a290ddf3d96e6d1d5886580e60b0602b4">More...</a><br/></td></tr>
<tr class="separator:a290ddf3d96e6d1d5886580e60b0602b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d9810ced694e50f7987ac90b9f8c1a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#a86d9810ced694e50f7987ac90b9f8c1a">Next</a> (void **tag, bool *ok)</td></tr>
<tr class="memdesc:a86d9810ced694e50f7987ac90b9f8c1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read from the queue, blocking until an event is available or the queue is shutting down. <a href="#a86d9810ced694e50f7987ac90b9f8c1a">More...</a><br/></td></tr>
<tr class="separator:a86d9810ced694e50f7987ac90b9f8c1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40efddadd9073386fbcb4f46e8325670"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#a40efddadd9073386fbcb4f46e8325670">Shutdown</a> ()</td></tr>
<tr class="memdesc:a40efddadd9073386fbcb4f46e8325670"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request the shutdown of the queue. <a href="#a40efddadd9073386fbcb4f46e8325670">More...</a><br/></td></tr>
<tr class="separator:a40efddadd9073386fbcb4f46e8325670"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a999c317e716d1e74aca2eb050912302b"><td class="memItemLeft" align="right" valign="top">grpc_completion_queue *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#a999c317e716d1e74aca2eb050912302b">cq</a> ()</td></tr>
<tr class="memdesc:a999c317e716d1e74aca2eb050912302b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a <em>raw</em> pointer to the underlying <em>grpc_completion_queue</em> instance. <a href="#a999c317e716d1e74aca2eb050912302b">More...</a><br/></td></tr>
<tr class="separator:a999c317e716d1e74aca2eb050912302b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_grpc_library"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_grpc_library')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_grpc_library.html">grpc::GrpcLibrary</a></td></tr>
<tr class="memitem:af026f86430cf235d7eaf532231a44528 inherit pub_methods_classgrpc_1_1_grpc_library"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_grpc_library.html#af026f86430cf235d7eaf532231a44528">GrpcLibrary</a> ()</td></tr>
@ -161,15 +172,19 @@ Friends</h2></td></tr>
<tr class="memitem:a9fcf1462b4ea3c6a37e54076aafb93e1"><td class="memTemplParams" colspan="2">template&lt;class ServiceType , class RequestType , class ResponseType &gt; </td></tr>
<tr class="memitem:a9fcf1462b4ea3c6a37e54076aafb93e1"><td class="memTemplItemLeft" align="right" valign="top">class&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#a9fcf1462b4ea3c6a37e54076aafb93e1">BidiStreamingHandler</a></td></tr>
<tr class="separator:a9fcf1462b4ea3c6a37e54076aafb93e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb2b23ecdb6db8b8d7e194a8e0ef5d6f"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#aeb2b23ecdb6db8b8d7e194a8e0ef5d6f">UnknownMethodHandler</a></td></tr>
<tr class="separator:aeb2b23ecdb6db8b8d7e194a8e0ef5d6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c3fa4c066981aae114e41c3f9340144"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#a8c3fa4c066981aae114e41c3f9340144">::grpc::Server</a></td></tr>
<tr class="separator:a8c3fa4c066981aae114e41c3f9340144"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c5b4f4c66d254f341915982a17aac95"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#a6c5b4f4c66d254f341915982a17aac95">::grpc::ServerContext</a></td></tr>
<tr class="separator:a6c5b4f4c66d254f341915982a17aac95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4aac0a120f3498d1151460ef89ce8446"><td class="memTemplParams" colspan="2">template&lt;class InputMessage , class OutputMessage &gt; </td></tr>
<tr class="memitem:a4aac0a120f3498d1151460ef89ce8446"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#a4aac0a120f3498d1151460ef89ce8446">BlockingUnaryCall</a> (<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const InputMessage &amp;request, OutputMessage *result)</td></tr>
<tr class="separator:a4aac0a120f3498d1151460ef89ce8446"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac574143322bf2bc6bd324ccb22d40756"><td class="memTemplParams" colspan="2">template&lt;class InputMessage , class OutputMessage &gt; </td></tr>
<tr class="memitem:ac574143322bf2bc6bd324ccb22d40756"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_status.html">Status</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue.html#ac574143322bf2bc6bd324ccb22d40756">BlockingUnaryCall</a> (<a class="el" href="classgrpc_1_1_channel.html">Channel</a> *channel, const <a class="el" href="classgrpc_1_1_rpc_method.html">RpcMethod</a> &amp;method, <a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const InputMessage &amp;request, OutputMessage *result)</td></tr>
<tr class="separator:ac574143322bf2bc6bd324ccb22d40756"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A thin wrapper around <em>grpc_completion_queue</em> (see / <em>src/core/surface/completion_queue.h</em>). </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a6227657fb2f29291f80cd092f9baf572"></a>
<div class="memitem">
<div class="memproto">
@ -179,12 +194,17 @@ Friends</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Tri-state return for AsyncNext: SHUTDOWN, GOT_EVENT, TIMEOUT. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a6227657fb2f29291f80cd092f9baf572a5d05c1c970154dad10e5f648890c215b"></a>SHUTDOWN</em>&#160;</td><td class="fielddoc">
<p>The completion queue has been shutdown. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6227657fb2f29291f80cd092f9baf572a5d8344849fb99341b7edaa9da7b42c08"></a>GOT_EVENT</em>&#160;</td><td class="fielddoc">
<p>Got a new event; <em>tag</em> will be filled in with its associated value; <em>ok</em> indicating its success. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a6227657fb2f29291f80cd092f9baf572ae88eecb45f91413b425511ee973e2e04"></a>TIMEOUT</em>&#160;</td><td class="fielddoc">
<p>deadline was reached. </p>
</td></tr>
</table>
@ -204,6 +224,9 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Default constructor. </p>
<p>Implicitly creates a <em>grpc_completion_queue</em> instance. </p>
</div>
</div>
<a class="anchor" id="a081a954044215a7ca8554da4220fb369"></a>
@ -228,6 +251,14 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Wrap <em>take</em>, taking ownership of the instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">take</td><td>The completion queue instance to wrap. Ownership is taken. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="aa0534391b20562e7e4cdc12daf0e36b0"></a>
@ -243,6 +274,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Destructor. Destroys the owned wrapped completion queue / instance. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
@ -286,6 +319,18 @@ template&lt;typename T &gt; </div>
</table>
</div><div class="memdoc">
<p>Read from the queue, blocking up to <em>deadline</em> (or the queue's shutdown). </p>
<p>Both <em>tag</em> and <em>ok</em> are updated upon success (if an event is available within the <em>deadline</em>). A <em>tag</em> points to an arbitrary location usually employed to uniquely identify an event.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">tag[out]</td><td>Upon sucess, updated to point to the event's tag. </td></tr>
<tr><td class="paramname">ok[out]</td><td>Upon sucess, true if read a regular event, false otherwise. </td></tr>
<tr><td class="paramname">deadline[in]</td><td>How long to block in wait for an event.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The type of event read. </dd></dl>
</div>
</div>
<a class="anchor" id="a999c317e716d1e74aca2eb050912302b"></a>
@ -309,6 +354,9 @@ template&lt;typename T &gt; </div>
</table>
</div><div class="memdoc">
<p>Returns a <em>raw</em> pointer to the underlying <em>grpc_completion_queue</em> instance. </p>
<dl class="section warning"><dt>Warning</dt><dd>Remember that the returned instance is owned. No transfer of owership is performed. </dd></dl>
</div>
</div>
<a class="anchor" id="a86d9810ced694e50f7987ac90b9f8c1a"></a>
@ -343,6 +391,16 @@ template&lt;typename T &gt; </div>
</table>
</div><div class="memdoc">
<p>Read from the queue, blocking until an event is available or the queue is shutting down. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">tag[out]</td><td>Updated to point to the read event's tag. </td></tr>
<tr><td class="paramname">ok[out]</td><td>true if read a regular event, false otherwise.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if read a regular event, false if the queue is shutting down. </dd></dl>
</div>
</div>
<a class="anchor" id="a40efddadd9073386fbcb4f46e8325670"></a>
@ -358,6 +416,9 @@ template&lt;typename T &gt; </div>
</table>
</div><div class="memdoc">
<p>Request the shutdown of the queue. </p>
<dl class="section warning"><dt>Warning</dt><dd>This method must be called at some point. Once invoked, <em>Next</em> will start to return false and <em>AsyncNext</em> will return <em>NextStatus::SHUTDOWN</em>. Only once either one of these methods does that (that is, once the queue has been <em>drained</em>) can an instance of this class be destroyed. </dd></dl>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
@ -555,7 +616,7 @@ template&lt;class ServiceType , class RequestType , class ResponseType &gt; </di
</div>
</div>
<a class="anchor" id="a4aac0a120f3498d1151460ef89ce8446"></a>
<a class="anchor" id="ac574143322bf2bc6bd324ccb22d40756"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
@ -567,7 +628,7 @@ template&lt;class InputMessage , class OutputMessage &gt; </div>
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_status.html">Status</a> BlockingUnaryCall </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> *&#160;</td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_channel.html">Channel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
@ -673,6 +734,26 @@ template&lt;class ServiceType , class RequestType , class ResponseType &gt; </di
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aeb2b23ecdb6db8b8d7e194a8e0ef5d6f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">friend class <a class="el" href="classgrpc_1_1_unknown_method_handler.html">UnknownMethodHandler</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
@ -682,7 +763,7 @@ template&lt;class ServiceType , class RequestType , class ResponseType &gt; </di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,6 +94,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p>An interface allowing implementors to process and filter event tags.
<a href="classgrpc_1_1_completion_queue_tag.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="completion__queue_8h_source.html">completion_queue.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
@ -103,7 +106,9 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:af7b1abfcd9e506d118dfdcf29ce7fe8d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_completion_queue_tag.html#af7b1abfcd9e506d118dfdcf29ce7fe8d">FinalizeResult</a> (void **tag, bool *status)=0</td></tr>
<tr class="separator:af7b1abfcd9e506d118dfdcf29ce7fe8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>An interface allowing implementors to process and filter event tags. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2cbf0212ed795c79f98c3421ed0cb4ab"></a>
<div class="memitem">
<div class="memproto">
@ -160,7 +165,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd">grpc::SneakyCallOpSet&lt; Op1, Op2, Op3, Op4, Op5, Op6 &gt;</a>, <a class="el" href="classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd">grpc::SneakyCallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; Op1, Op2, Op3, Op4, Op5, Op6 &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage&lt; R &gt;, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpServerSendStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpServerSendStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendMessage &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose, CallNoOp&lt; 4 &gt;, CallNoOp&lt; 5 &gt;, CallNoOp&lt; 6 &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvMessage&lt; R &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage&lt; R &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_server_1_1_sync_request.html#a3cc60801adf9554054f89442230ae1bb">grpc::Server::SyncRequest</a>, <a class="el" href="classgrpc_1_1_server_context_1_1_completion_op.html#aef20db2535fbee767d19f769df50d67d">grpc::ServerContext::CompletionOp</a>, and <a class="el" href="classgrpc_1_1_server_1_1_shutdown_request.html#a42c35a145a0ae74c4ddba64abb9d1bbe">grpc::Server::ShutdownRequest</a>.</p>
<p>Implemented in <a class="el" href="classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd">grpc::SneakyCallOpSet&lt; Op1, Op2, Op3, Op4, Op5, Op6 &gt;</a>, <a class="el" href="classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd">grpc::SneakyCallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; Op1, Op2, Op3, Op4, Op5, Op6 &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage&lt; R &gt;, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpServerSendStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpServerSendStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvMessage&lt; ByteBuffer &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendMessage &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose, CallNoOp&lt; 4 &gt;, CallNoOp&lt; 5 &gt;, CallNoOp&lt; 6 &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvMessage&lt; R &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose &gt;</a>, <a class="el" href="classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180">grpc::CallOpSet&lt; grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage&lt; R &gt; &gt;</a>, <a class="el" href="classgrpc_1_1_server_1_1_sync_request.html#a3cc60801adf9554054f89442230ae1bb">grpc::Server::SyncRequest</a>, <a class="el" href="classgrpc_1_1_server_1_1_shutdown_request.html#a42c35a145a0ae74c4ddba64abb9d1bbe">grpc::Server::ShutdownRequest</a>, <a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_response.html#a144bc68c1da350faa5349c15801577e6">grpc::Server::UnimplementedAsyncResponse</a>, <a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_request.html#a3b5fbd9ed09ed8bb37f419877ca8e590">grpc::Server::UnimplementedAsyncRequest</a>, and <a class="el" href="classgrpc_1_1_server_context_1_1_completion_op.html#aef20db2535fbee767d19f769df50d67d">grpc::ServerContext::CompletionOp</a>.</p>
</div>
</div>
@ -170,7 +175,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -96,6 +96,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p>A credentials object encapsulates all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client’s identity, role, or whether it is authorized to make a particular call.
<a href="classgrpc_1_1_credentials.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="credentials_8h_source.html">credentials.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
@ -103,6 +106,7 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:af4e8a65a6cee2b847e11134671c213f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_credentials.html#af4e8a65a6cee2b847e11134671c213f2">~Credentials</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:af4e8a65a6cee2b847e11134671c213f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b3162e0dbb4530ac1c4b81a0339b1e1"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_credentials.html#a2b3162e0dbb4530ac1c4b81a0339b1e1">ApplyToCall</a> (grpc_call *call)=0</td></tr>
<tr class="memdesc:a2b3162e0dbb4530ac1c4b81a0339b1e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply this instance's credentials to <em>call</em>. <a href="#a2b3162e0dbb4530ac1c4b81a0339b1e1">More...</a><br/></td></tr>
<tr class="separator:a2b3162e0dbb4530ac1c4b81a0339b1e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_grpc_library"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_grpc_library')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_grpc_library.html">grpc::GrpcLibrary</a></td></tr>
<tr class="memitem:af026f86430cf235d7eaf532231a44528 inherit pub_methods_classgrpc_1_1_grpc_library"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_grpc_library.html#af026f86430cf235d7eaf532231a44528">GrpcLibrary</a> ()</td></tr>
@ -118,11 +122,16 @@ Protected Member Functions</h2></td></tr>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a319db47fafb1868e66fd34b8bc084f3f"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_credentials.html">Credentials</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_credentials.html#a319db47fafb1868e66fd34b8bc084f3f">CompositeCredentials</a> (const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_credentials.html">Credentials</a> &gt; &amp;creds1, const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_credentials.html">Credentials</a> &gt; &amp;creds2)</td></tr>
<tr class="memdesc:a319db47fafb1868e66fd34b8bc084f3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines two credentials objects into a composite credentials. <a href="#a319db47fafb1868e66fd34b8bc084f3f">More...</a><br/></td></tr>
<tr class="separator:a319db47fafb1868e66fd34b8bc084f3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cd496f9dd7e19b5bdbafaa41036fe69"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_credentials.html#a6cd496f9dd7e19b5bdbafaa41036fe69">CreateChannel</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;target, const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_credentials.html">Credentials</a> &gt; &amp;creds, const <a class="el" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a> &amp;args)</td></tr>
<tr class="separator:a6cd496f9dd7e19b5bdbafaa41036fe69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb30314a85772af23b1b6c8f34c0be65"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">Channel</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_credentials.html#afb30314a85772af23b1b6c8f34c0be65">CreateCustomChannel</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;target, const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_credentials.html">Credentials</a> &gt; &amp;creds, const <a class="el" href="classgrpc_1_1_channel_arguments.html">ChannelArguments</a> &amp;args)</td></tr>
<tr class="memdesc:afb30314a85772af23b1b6c8f34c0be65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new <em>custom</em> <em><a class="el" href="classgrpc_1_1_channel.html" title="Channels represent a connection to an endpoint. Created by CreateChannel. ">Channel</a></em> pointing to <em>target</em>. <a href="#afb30314a85772af23b1b6c8f34c0be65">More...</a><br/></td></tr>
<tr class="separator:afb30314a85772af23b1b6c8f34c0be65"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A credentials object encapsulates all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client’s identity, role, or whether it is authorized to make a particular call. </p>
<dl class="section see"><dt>See Also</dt><dd><a href="https://github.com/grpc/grpc/blob/master/doc/grpc-auth-support.md">https://github.com/grpc/grpc/blob/master/doc/grpc-auth-support.md</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="af4e8a65a6cee2b847e11134671c213f2"></a>
<div class="memitem">
<div class="memproto">
@ -161,6 +170,8 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Apply this instance's credentials to <em>call</em>. </p>
<p>Implemented in <a class="el" href="classgrpc_1_1_secure_credentials.html#a31c8428461d6f8cc063fc27bc20e8111">grpc::SecureCredentials</a>.</p>
</div>
@ -223,9 +234,11 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Combines two credentials objects into a composite credentials. </p>
</div>
</div>
<a class="anchor" id="a6cd496f9dd7e19b5bdbafaa41036fe69"></a>
<a class="anchor" id="afb30314a85772af23b1b6c8f34c0be65"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -233,7 +246,7 @@ Friends</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a>&gt; CreateChannel </td>
<td class="memname">std::shared_ptr&lt;<a class="el" href="classgrpc_1_1_channel.html">Channel</a>&gt; CreateCustomChannel </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;&#160;</td>
<td class="paramname"><em>target</em>, </td>
@ -263,16 +276,27 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Create a new <em>custom</em> <em><a class="el" href="classgrpc_1_1_channel.html" title="Channels represent a connection to an endpoint. Created by CreateChannel. ">Channel</a></em> pointing to <em>target</em>. </p>
<dl class="section warning"><dt>Warning</dt><dd>For advanced use and testing ONLY. Override default channel arguments only if necessary.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">target</td><td>The URI of the endpoint to connect to. </td></tr>
<tr><td class="paramname">creds</td><td><a class="el" href="classgrpc_1_1_credentials.html" title="A credentials object encapsulates all the state needed by a client to authenticate with a server and ...">Credentials</a> to use for the created channel. If it does not hold an object or is invalid, a lame channel is returned. </td></tr>
<tr><td class="paramname">args</td><td>Options for channel creation. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="credentials_8h_source.html">credentials.h</a></li>
<li>include/grpc++/security/<a class="el" href="credentials_8h_source.html">credentials.h</a></li>
<li>src/cpp/client/<a class="el" href="credentials_8cc.html">credentials.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -177,13 +177,13 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="dynamic__thread__pool_8h_source.html">dynamic_thread_pool.h</a></li>
<li>src/cpp/server/<a class="el" href="dynamic__thread__pool_8h_source.html">dynamic_thread_pool.h</a></li>
<li>src/cpp/server/<a class="el" href="dynamic__thread__pool_8cc.html">dynamic_thread_pool.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -176,13 +176,13 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="fixed__size__thread__pool_8h_source.html">fixed_size_thread_pool.h</a></li>
<li>src/cpp/server/<a class="el" href="fixed__size__thread__pool_8h_source.html">fixed_size_thread_pool.h</a></li>
<li>src/cpp/server/<a class="el" href="fixed__size__thread__pool_8cc.html">fixed_size_thread_pool.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -118,9 +118,10 @@ Public Member Functions</h2></td></tr>
<tr class="separator:ac30e12c4ee3ca008522b24157f4f886c inherit pub_methods_classgrpc_1_1_server_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae52a89bbf70c27be3325080000757864 inherit pub_methods_classgrpc_1_1_server_context"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_context.html#ae52a89bbf70c27be3325080000757864">IsCancelled</a> () const </td></tr>
<tr class="separator:ae52a89bbf70c27be3325080000757864 inherit pub_methods_classgrpc_1_1_server_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82f70d1b5b56ca2a4a8a2f5bad6d8ca1 inherit pub_methods_classgrpc_1_1_server_context"><td class="memItemLeft" align="right" valign="top">const std::multimap<br class="typebreak"/>
&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>, <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_context.html#a82f70d1b5b56ca2a4a8a2f5bad6d8ca1">client_metadata</a> ()</td></tr>
<tr class="separator:a82f70d1b5b56ca2a4a8a2f5bad6d8ca1 inherit pub_methods_classgrpc_1_1_server_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a144de24bd56a8950676ba91913cc74ce inherit pub_methods_classgrpc_1_1_server_context"><td class="memItemLeft" align="right" valign="top">const std::multimap<br class="typebreak"/>
&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a>, <br class="typebreak"/>
<a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_context.html#a144de24bd56a8950676ba91913cc74ce">client_metadata</a> ()</td></tr>
<tr class="separator:a144de24bd56a8950676ba91913cc74ce inherit pub_methods_classgrpc_1_1_server_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a401d5c77fde5cccb13155ccd668787e8 inherit pub_methods_classgrpc_1_1_server_context"><td class="memItemLeft" align="right" valign="top">grpc_compression_level&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_context.html#a401d5c77fde5cccb13155ccd668787e8">compression_level</a> () const </td></tr>
<tr class="separator:a401d5c77fde5cccb13155ccd668787e8 inherit pub_methods_classgrpc_1_1_server_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accfdf160f46aa20eda843443c3eea91d inherit pub_methods_classgrpc_1_1_server_context"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_context.html#accfdf160f46aa20eda843443c3eea91d">set_compression_level</a> (grpc_compression_level level)</td></tr>
@ -136,6 +137,8 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a5ef7910ccd61514eafa7087519bb17bb inherit pub_methods_classgrpc_1_1_server_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a63356adb72a31f77ce2a8bb227d8f0 inherit pub_methods_classgrpc_1_1_server_context"><td class="memItemLeft" align="right" valign="top">const struct census_context *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_context.html#a4a63356adb72a31f77ce2a8bb227d8f0">census_context</a> () const </td></tr>
<tr class="separator:a4a63356adb72a31f77ce2a8bb227d8f0 inherit pub_methods_classgrpc_1_1_server_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafcb8e430e3d81bcd3f0a88701a19fba inherit pub_methods_classgrpc_1_1_server_context"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_context.html#aafcb8e430e3d81bcd3f0a88701a19fba">AsyncNotifyWhenDone</a> (void *tag)</td></tr>
<tr class="separator:aafcb8e430e3d81bcd3f0a88701a19fba inherit pub_methods_classgrpc_1_1_server_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
@ -211,12 +214,12 @@ Friends</h2></td></tr>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="async__generic__service_8h_source.html">async_generic_service.h</a></li>
<li>include/grpc++/generic/<a class="el" href="async__generic__service_8h_source.html">async_generic_service.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -98,14 +98,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1523f381907ac18b841bb4064f2a3b88"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_generic_stub.html#a1523f381907ac18b841bb4064f2a3b88">GenericStub</a> (std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> &gt; channel)</td></tr>
<tr class="separator:a1523f381907ac18b841bb4064f2a3b88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7555683fb9225ea12330146f5b95a75"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_generic_stub.html#ad7555683fb9225ea12330146f5b95a75">GenericStub</a> (std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">Channel</a> &gt; channel)</td></tr>
<tr class="separator:ad7555683fb9225ea12330146f5b95a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac56595f6faa4911cac85818d146d1812"><td class="memItemLeft" align="right" valign="top">std::unique_ptr<br class="typebreak"/>
&lt; <a class="el" href="namespacegrpc.html#aba53fb6f2502caa167e9528e5c560539">GenericClientAsyncReaderWriter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_generic_stub.html#ac56595f6faa4911cac85818d146d1812">Call</a> (<a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a> *context, const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;method, <a class="el" href="classgrpc_1_1_completion_queue.html">CompletionQueue</a> *cq, void *tag)</td></tr>
<tr class="separator:ac56595f6faa4911cac85818d146d1812"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a1523f381907ac18b841bb4064f2a3b88"></a>
<a class="anchor" id="ad7555683fb9225ea12330146f5b95a75"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -115,7 +115,7 @@ Public Member Functions</h2></td></tr>
<tr>
<td class="memname">grpc::GenericStub::GenericStub </td>
<td>(</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_interface.html">ChannelInterface</a> &gt;&#160;</td>
<td class="paramtype">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">Channel</a> &gt;&#160;</td>
<td class="paramname"><em>channel</em></td><td>)</td>
<td></td>
</tr>
@ -169,13 +169,13 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/grpc++/<a class="el" href="generic__stub_8h_source.html">generic_stub.h</a></li>
<li>include/grpc++/generic/<a class="el" href="generic__stub_8h_source.html">generic_stub.h</a></li>
<li>src/cpp/client/<a class="el" href="generic__stub_8cc.html">generic_stub.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -156,7 +156,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -156,7 +156,7 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Implemented in <a class="el" href="classgrpc_1_1_bidi_streaming_handler.html#a674385b5e9f48ffff0bcbc5d77f99bf1">grpc::BidiStreamingHandler&lt; ServiceType, RequestType, ResponseType &gt;</a>, <a class="el" href="classgrpc_1_1_server_streaming_handler.html#afd874fc0f3a73c4037d626d3ecbcccca">grpc::ServerStreamingHandler&lt; ServiceType, RequestType, ResponseType &gt;</a>, <a class="el" href="classgrpc_1_1_client_streaming_handler.html#a702cbf84fa766383bfbb818c8a16e67c">grpc::ClientStreamingHandler&lt; ServiceType, RequestType, ResponseType &gt;</a>, and <a class="el" href="classgrpc_1_1_rpc_method_handler.html#a3dd04e9149c844224390b403ff24fa41">grpc::RpcMethodHandler&lt; ServiceType, RequestType, ResponseType &gt;</a>.</p>
<p>Implemented in <a class="el" href="classgrpc_1_1_unknown_method_handler.html#a0722d78b3ee01b290fb8fcef25d1b02f">grpc::UnknownMethodHandler</a>, <a class="el" href="classgrpc_1_1_bidi_streaming_handler.html#a674385b5e9f48ffff0bcbc5d77f99bf1">grpc::BidiStreamingHandler&lt; ServiceType, RequestType, ResponseType &gt;</a>, <a class="el" href="classgrpc_1_1_server_streaming_handler.html#afd874fc0f3a73c4037d626d3ecbcccca">grpc::ServerStreamingHandler&lt; ServiceType, RequestType, ResponseType &gt;</a>, <a class="el" href="classgrpc_1_1_client_streaming_handler.html#a702cbf84fa766383bfbb818c8a16e67c">grpc::ClientStreamingHandler&lt; ServiceType, RequestType, ResponseType &gt;</a>, and <a class="el" href="classgrpc_1_1_rpc_method_handler.html#a3dd04e9149c844224390b403ff24fa41">grpc::RpcMethodHandler&lt; ServiceType, RequestType, ResponseType &gt;</a>.</p>
</div>
</div>
@ -166,7 +166,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -0,0 +1,371 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>GRPC C++: grpc::PropagationOptions Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
<li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacegrpc.html">grpc</a></li><li class="navelem"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">grpc::PropagationOptions Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Options for <em><a class="el" href="classgrpc_1_1_client_context.html#a6e07af41b550bf697ee8063e5baae967" title="Create a new ClientContext as a child of an incoming server call, according to options (...">ClientContext::FromServerContext</a></em> specifying which traits from the <em><a class="el" href="classgrpc_1_1_server_context.html">ServerContext</a></em> to propagate (copy) from it into a new <em><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a></em>.
<a href="classgrpc_1_1_propagation_options.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="client__context_8h_source.html">client_context.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a450cdedbc72cbda17cb8d93f31c0f878"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#a450cdedbc72cbda17cb8d93f31c0f878">PropagationOptions</a> ()</td></tr>
<tr class="separator:a450cdedbc72cbda17cb8d93f31c0f878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c797b7a99ab4f5c71d9b865ffcaf2f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#a4c797b7a99ab4f5c71d9b865ffcaf2f8">enable_deadline_propagation</a> ()</td></tr>
<tr class="separator:a4c797b7a99ab4f5c71d9b865ffcaf2f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af163720df9f2f2772e397fa31ac74bd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#af163720df9f2f2772e397fa31ac74bd7">disable_deadline_propagation</a> ()</td></tr>
<tr class="separator:af163720df9f2f2772e397fa31ac74bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebc252e3ccf7ad9bb74ba9951c3b2fd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#aebc252e3ccf7ad9bb74ba9951c3b2fd9">enable_census_stats_propagation</a> ()</td></tr>
<tr class="separator:aebc252e3ccf7ad9bb74ba9951c3b2fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08d8e9412abb5de736257f6ec8e434cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#a08d8e9412abb5de736257f6ec8e434cb">disable_census_stats_propagation</a> ()</td></tr>
<tr class="separator:a08d8e9412abb5de736257f6ec8e434cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b0d3b79b82d48d123f07ee39332ec7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#a1b0d3b79b82d48d123f07ee39332ec7a">enable_census_tracing_propagation</a> ()</td></tr>
<tr class="separator:a1b0d3b79b82d48d123f07ee39332ec7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8109ff28428f279c2b410e758f27409d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#a8109ff28428f279c2b410e758f27409d">disable_census_tracing_propagation</a> ()</td></tr>
<tr class="separator:a8109ff28428f279c2b410e758f27409d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ead0d0f5eba28ffbfb47de32b64bfc9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#a6ead0d0f5eba28ffbfb47de32b64bfc9">enable_cancellation_propagation</a> ()</td></tr>
<tr class="separator:a6ead0d0f5eba28ffbfb47de32b64bfc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ed5f38fd16b830a300f09dd3cd0b9d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#a1ed5f38fd16b830a300f09dd3cd0b9d1">disable_cancellation_propagation</a> ()</td></tr>
<tr class="separator:a1ed5f38fd16b830a300f09dd3cd0b9d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3507b18b73820e1ffaa6bdcafeb3b4f2"><td class="memItemLeft" align="right" valign="top">gpr_uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_propagation_options.html#a3507b18b73820e1ffaa6bdcafeb3b4f2">c_bitmask</a> () const </td></tr>
<tr class="separator:a3507b18b73820e1ffaa6bdcafeb3b4f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Options for <em><a class="el" href="classgrpc_1_1_client_context.html#a6e07af41b550bf697ee8063e5baae967" title="Create a new ClientContext as a child of an incoming server call, according to options (...">ClientContext::FromServerContext</a></em> specifying which traits from the <em><a class="el" href="classgrpc_1_1_server_context.html">ServerContext</a></em> to propagate (copy) from it into a new <em><a class="el" href="classgrpc_1_1_client_context.html">ClientContext</a></em>. </p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classgrpc_1_1_client_context.html#a6e07af41b550bf697ee8063e5baae967" title="Create a new ClientContext as a child of an incoming server call, according to options (...">ClientContext::FromServerContext</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a450cdedbc72cbda17cb8d93f31c0f878"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::PropagationOptions::PropagationOptions </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a3507b18b73820e1ffaa6bdcafeb3b4f2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">gpr_uint32 grpc::PropagationOptions::c_bitmask </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1ed5f38fd16b830a300f09dd3cd0b9d1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>&amp; grpc::PropagationOptions::disable_cancellation_propagation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a08d8e9412abb5de736257f6ec8e434cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>&amp; grpc::PropagationOptions::disable_census_stats_propagation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8109ff28428f279c2b410e758f27409d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>&amp; grpc::PropagationOptions::disable_census_tracing_propagation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af163720df9f2f2772e397fa31ac74bd7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>&amp; grpc::PropagationOptions::disable_deadline_propagation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6ead0d0f5eba28ffbfb47de32b64bfc9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>&amp; grpc::PropagationOptions::enable_cancellation_propagation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aebc252e3ccf7ad9bb74ba9951c3b2fd9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>&amp; grpc::PropagationOptions::enable_census_stats_propagation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1b0d3b79b82d48d123f07ee39332ec7a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>&amp; grpc::PropagationOptions::enable_census_tracing_propagation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4c797b7a99ab4f5c71d9b865ffcaf2f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgrpc_1_1_propagation_options.html">PropagationOptions</a>&amp; grpc::PropagationOptions::enable_deadline_propagation </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="client__context_8h_source.html">client_context.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -94,16 +94,25 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="stream_8h_source.html">stream.h</a>&gt;</code></p>
<p>An interface that yields a sequence of messages of type <em>R</em>.
<a href="classgrpc_1_1_reader_interface.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1fbd3d6e86e2f97e5444f29b0af0a9d5"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_reader_interface.html#a1fbd3d6e86e2f97e5444f29b0af0a9d5">~ReaderInterface</a> ()</td></tr>
<tr class="separator:a1fbd3d6e86e2f97e5444f29b0af0a9d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04a1da8610d790ea86ecd5a14fe892b8"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8">Read</a> (R *msg)=0</td></tr>
<tr class="memdesc:a04a1da8610d790ea86ecd5a14fe892b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Blocking read a message and parse to <em>msg</em>. <a href="#a04a1da8610d790ea86ecd5a14fe892b8">More...</a><br/></td></tr>
<tr class="separator:a04a1da8610d790ea86ecd5a14fe892b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class R&gt;<br/>
class grpc::ReaderInterface&lt; R &gt;</h3>
<p>An interface that yields a sequence of messages of type <em>R</em>. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a1fbd3d6e86e2f97e5444f29b0af0a9d5"></a>
<div class="memitem">
<div class="memproto">
@ -154,17 +163,27 @@ template&lt;class R &gt; </div>
</table>
</div><div class="memdoc">
<p>Blocking read a message and parse to <em>msg</em>. </p>
<p>Returns <em>true</em> on success.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">msg</td><td>The read message.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><em>false</em> when there will be no more incoming messages, either because the other side has called <em>WritesDone()</em> or the stream has failed (or been cancelled). </dd></dl>
<p>Implemented in <a class="el" href="classgrpc_1_1_server_reader_writer.html#a0398eca2f3cb613273a77c28bd55489d">grpc::ServerReaderWriter&lt; R, W &gt;</a>, <a class="el" href="classgrpc_1_1_server_reader.html#a8bd737fbe8d5094fbcf40c45dc7723e0">grpc::ServerReader&lt; R &gt;</a>, <a class="el" href="classgrpc_1_1_client_reader_writer.html#adcf4e48162a850ae106e9d2f6fd03d0c">grpc::ClientReaderWriter&lt; R, W &gt;</a>, and <a class="el" href="classgrpc_1_1_client_reader.html#a1305f6a3159b73866b4b66621f573ae7">grpc::ClientReader&lt; R &gt;</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="stream_8h_source.html">stream.h</a></li>
<li>include/grpc++/support/<a class="el" href="sync__stream_8h_source.html">sync_stream.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -108,8 +108,10 @@ Public Types</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab06ace199b65e09f1d4c9fde93dafc94"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#ab06ace199b65e09f1d4c9fde93dafc94">RpcMethod</a> (const char *<a class="el" href="classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3">name</a>, <a class="el" href="classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688">RpcType</a> type, void *<a class="el" href="classgrpc_1_1_rpc_method.html#a59527e676d274583ec6961fb3f4356b3">channel_tag</a>)</td></tr>
<tr class="separator:ab06ace199b65e09f1d4c9fde93dafc94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06b42037718cf822a4b30d14668613f0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#a06b42037718cf822a4b30d14668613f0">RpcMethod</a> (const char *<a class="el" href="classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3">name</a>, <a class="el" href="classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688">RpcType</a> type)</td></tr>
<tr class="separator:a06b42037718cf822a4b30d14668613f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc1bb5475a21dd0a9d64bb0546a5452e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#adc1bb5475a21dd0a9d64bb0546a5452e">RpcMethod</a> (const char *<a class="el" href="classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3">name</a>, <a class="el" href="classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688">RpcType</a> type, const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">Channel</a> &gt; &amp;channel)</td></tr>
<tr class="separator:adc1bb5475a21dd0a9d64bb0546a5452e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb4872e0af4c79faffe2bb30b2cafe3"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3">name</a> () const </td></tr>
<tr class="separator:a6fb4872e0af4c79faffe2bb30b2cafe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1de5a64a1e57b5938c4733f9152291b6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688">RpcType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#a1de5a64a1e57b5938c4733f9152291b6">method_type</a> () const </td></tr>
@ -141,7 +143,41 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab06ace199b65e09f1d4c9fde93dafc94"></a>
<a class="anchor" id="a06b42037718cf822a4b30d14668613f0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">grpc::RpcMethod::RpcMethod </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688">RpcType</a>&#160;</td>
<td class="paramname"><em>type</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="adc1bb5475a21dd0a9d64bb0546a5452e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -163,8 +199,8 @@ Public Member Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>channel_tag</em>&#160;</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">Channel</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>channel</em>&#160;</td>
</tr>
<tr>
<td></td>
@ -257,7 +293,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -179,7 +179,7 @@ template&lt;class ServiceType , class RequestType , class ResponseType &gt; </di
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -183,7 +183,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -103,8 +103,10 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:adcc8bfb7dc592f6b64fec6660f1cbaf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_method_handler.html">MethodHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_service_method.html#adcc8bfb7dc592f6b64fec6660f1cbaf1">handler</a> ()</td></tr>
<tr class="separator:adcc8bfb7dc592f6b64fec6660f1cbaf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_rpc_method"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_rpc_method')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_rpc_method.html">grpc::RpcMethod</a></td></tr>
<tr class="memitem:ab06ace199b65e09f1d4c9fde93dafc94 inherit pub_methods_classgrpc_1_1_rpc_method"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#ab06ace199b65e09f1d4c9fde93dafc94">RpcMethod</a> (const char *<a class="el" href="classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3">name</a>, <a class="el" href="classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688">RpcType</a> type, void *<a class="el" href="classgrpc_1_1_rpc_method.html#a59527e676d274583ec6961fb3f4356b3">channel_tag</a>)</td></tr>
<tr class="separator:ab06ace199b65e09f1d4c9fde93dafc94 inherit pub_methods_classgrpc_1_1_rpc_method"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06b42037718cf822a4b30d14668613f0 inherit pub_methods_classgrpc_1_1_rpc_method"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#a06b42037718cf822a4b30d14668613f0">RpcMethod</a> (const char *<a class="el" href="classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3">name</a>, <a class="el" href="classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688">RpcType</a> type)</td></tr>
<tr class="separator:a06b42037718cf822a4b30d14668613f0 inherit pub_methods_classgrpc_1_1_rpc_method"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc1bb5475a21dd0a9d64bb0546a5452e inherit pub_methods_classgrpc_1_1_rpc_method"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#adc1bb5475a21dd0a9d64bb0546a5452e">RpcMethod</a> (const char *<a class="el" href="classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3">name</a>, <a class="el" href="classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688">RpcType</a> type, const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">Channel</a> &gt; &amp;channel)</td></tr>
<tr class="separator:adc1bb5475a21dd0a9d64bb0546a5452e inherit pub_methods_classgrpc_1_1_rpc_method"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb4872e0af4c79faffe2bb30b2cafe3 inherit pub_methods_classgrpc_1_1_rpc_method"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3">name</a> () const </td></tr>
<tr class="separator:a6fb4872e0af4c79faffe2bb30b2cafe3 inherit pub_methods_classgrpc_1_1_rpc_method"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1de5a64a1e57b5938c4733f9152291b6 inherit pub_methods_classgrpc_1_1_rpc_method"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688">RpcType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_rpc_method.html#a1de5a64a1e57b5938c4733f9152291b6">method_type</a> () const </td></tr>
@ -193,7 +195,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -98,26 +98,48 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3a02a60cd745c30565135c1e5bc0a902"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a3a02a60cd745c30565135c1e5bc0a902">SecureAuthContext</a> (grpc_auth_context *ctx)</td></tr>
<tr class="separator:a3a02a60cd745c30565135c1e5bc0a902"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2354bb8eef8cec0e653b6b635e40fca0"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a2354bb8eef8cec0e653b6b635e40fca0">SecureAuthContext</a> (grpc_auth_context *ctx, bool take_ownership)</td></tr>
<tr class="separator:a2354bb8eef8cec0e653b6b635e40fca0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac21ea6e884d194a7f8003dbea4e548a1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#ac21ea6e884d194a7f8003dbea4e548a1">~SecureAuthContext</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:ac21ea6e884d194a7f8003dbea4e548a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bfd2588633e41a1aeaa098a734266b2"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a1bfd2588633e41a1aeaa098a734266b2">GetPeerIdentity</a> () const <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a1bfd2588633e41a1aeaa098a734266b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a975f73255b1419029efacc0353345007"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a975f73255b1419029efacc0353345007">IsPeerAuthenticated</a> () const <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a975f73255b1419029efacc0353345007"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the peer is authenticated. <a href="#a975f73255b1419029efacc0353345007">More...</a><br/></td></tr>
<tr class="separator:a975f73255b1419029efacc0353345007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf49b3a80bd972bca26565387694bece"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#adf49b3a80bd972bca26565387694bece">GetPeerIdentity</a> () const <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:adf49b3a80bd972bca26565387694bece"><td class="mdescLeft">&#160;</td><td class="mdescRight">A peer identity. <a href="#adf49b3a80bd972bca26565387694bece">More...</a><br/></td></tr>
<tr class="separator:adf49b3a80bd972bca26565387694bece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2788f289ec4b42eb57efeb8a203170b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#ae2788f289ec4b42eb57efeb8a203170b">GetPeerIdentityPropertyName</a> () const <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:ae2788f289ec4b42eb57efeb8a203170b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a980da034327f6706944f334f95d7f96c"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a980da034327f6706944f334f95d7f96c">FindPropertyValues</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;name) const <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a980da034327f6706944f334f95d7f96c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a620ec54d5938d022d64afc314fcd0c78"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a620ec54d5938d022d64afc314fcd0c78">FindPropertyValues</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;name) const <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a620ec54d5938d022d64afc314fcd0c78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all the property values with the given name. <a href="#a620ec54d5938d022d64afc314fcd0c78">More...</a><br/></td></tr>
<tr class="separator:a620ec54d5938d022d64afc314fcd0c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a397366aa80dc3b213a97a9210fa34671"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a397366aa80dc3b213a97a9210fa34671">begin</a> () const <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a397366aa80dc3b213a97a9210fa34671"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iteration over all the properties. <a href="#a397366aa80dc3b213a97a9210fa34671">More...</a><br/></td></tr>
<tr class="separator:a397366aa80dc3b213a97a9210fa34671"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24e12e67d53e45f033bd2b23623fd500"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_auth_property_iterator.html">AuthPropertyIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a24e12e67d53e45f033bd2b23623fd500">end</a> () const <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a24e12e67d53e45f033bd2b23623fd500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85bcca5c9f4d270dffce1f0807be2140"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a85bcca5c9f4d270dffce1f0807be2140">AddProperty</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;key, const <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &amp;value) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a85bcca5c9f4d270dffce1f0807be2140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8581c1a3b15b2b64d9eb59095b2749d4"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_auth_context.html#a8581c1a3b15b2b64d9eb59095b2749d4">SetPeerIdentityPropertyName</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;name) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a8581c1a3b15b2b64d9eb59095b2749d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_auth_context"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_auth_context')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_auth_context.html">grpc::AuthContext</a></td></tr>
<tr class="memitem:a3784c5f4eeab56a8524da29981548464 inherit pub_methods_classgrpc_1_1_auth_context"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464">~AuthContext</a> ()</td></tr>
<tr class="separator:a3784c5f4eeab56a8524da29981548464 inherit pub_methods_classgrpc_1_1_auth_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classgrpc_1_1_auth_context"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classgrpc_1_1_auth_context')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classgrpc_1_1_auth_context.html">grpc::AuthContext</a></td></tr>
<tr class="memitem:aea2b8bbca62cd5dd959a7259b333937c inherit pub_static_methods_classgrpc_1_1_auth_context"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#aea2b8bbca62cd5dd959a7259b333937c">transport_security_type_property_name</a> ()</td></tr>
<tr class="separator:aea2b8bbca62cd5dd959a7259b333937c inherit pub_static_methods_classgrpc_1_1_auth_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9930aeaa826dad849ddea192a2393df9 inherit pub_static_methods_classgrpc_1_1_auth_context"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a9930aeaa826dad849ddea192a2393df9">ssl_transport_security_type</a> ()</td></tr>
<tr class="separator:a9930aeaa826dad849ddea192a2393df9 inherit pub_static_methods_classgrpc_1_1_auth_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c92f7ec00da2bf58de56a1b5983b296 inherit pub_static_methods_classgrpc_1_1_auth_context"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#a5c92f7ec00da2bf58de56a1b5983b296">x509_cn_property_name</a> ()</td></tr>
<tr class="separator:a5c92f7ec00da2bf58de56a1b5983b296 inherit pub_static_methods_classgrpc_1_1_auth_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac78faedce700883d917c37990c1746de inherit pub_static_methods_classgrpc_1_1_auth_context"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_auth_context.html#ac78faedce700883d917c37990c1746de">x509_san_property_name</a> ()</td></tr>
<tr class="separator:ac78faedce700883d917c37990c1746de inherit pub_static_methods_classgrpc_1_1_auth_context"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3a02a60cd745c30565135c1e5bc0a902"></a>
<a class="anchor" id="a2354bb8eef8cec0e653b6b635e40fca0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
@ -125,8 +147,18 @@ Public Member Functions</h2></td></tr>
<td class="memname">grpc::SecureAuthContext::SecureAuthContext </td>
<td>(</td>
<td class="paramtype">grpc_auth_context *&#160;</td>
<td class="paramname"><em>ctx</em></td><td>)</td>
<td class="paramname"><em>ctx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>take_ownership</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
@ -149,6 +181,42 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a85bcca5c9f4d270dffce1f0807be2140"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::SecureAuthContext::AddProperty </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgrpc_1_1_auth_context.html#add9dbb40b1a822f683a7ebad71e774f2">grpc::AuthContext</a>.</p>
</div>
</div>
<a class="anchor" id="a397366aa80dc3b213a97a9210fa34671"></a>
<div class="memitem">
<div class="memproto">
@ -170,6 +238,8 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Iteration over all the properties. </p>
<p>Implements <a class="el" href="classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89">grpc::AuthContext</a>.</p>
</div>
@ -199,7 +269,7 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<a class="anchor" id="a980da034327f6706944f334f95d7f96c"></a>
<a class="anchor" id="a620ec54d5938d022d64afc314fcd0c78"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -207,7 +277,7 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt; grpc::SecureAuthContext::FindPropertyValues </td>
<td class="memname">std::vector&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt; grpc::SecureAuthContext::FindPropertyValues </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
@ -221,11 +291,13 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgrpc_1_1_auth_context.html#ad34c79f4934c974aa9e77ca69eed82aa">grpc::AuthContext</a>.</p>
<p>Returns all the property values with the given name. </p>
<p>Implements <a class="el" href="classgrpc_1_1_auth_context.html#ac32b53377f8b7e44328f791f44bd6732">grpc::AuthContext</a>.</p>
</div>
</div>
<a class="anchor" id="a1bfd2588633e41a1aeaa098a734266b2"></a>
<a class="anchor" id="adf49b3a80bd972bca26565387694bece"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -233,7 +305,7 @@ Public Member Functions</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &gt; grpc::SecureAuthContext::GetPeerIdentity </td>
<td class="memname">std::vector&lt; <a class="el" href="classgrpc_1_1string__ref.html">grpc::string_ref</a> &gt; grpc::SecureAuthContext::GetPeerIdentity </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -246,7 +318,10 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgrpc_1_1_auth_context.html#a94f653509ddd988ce8fd4f22746fead9">grpc::AuthContext</a>.</p>
<p>A peer identity. </p>
<p>It is, in general, comprised of one or more properties (in which case they have the same name). </p>
<p>Implements <a class="el" href="classgrpc_1_1_auth_context.html#a56a84468c1c3814a185cb6a2a3badf99">grpc::AuthContext</a>.</p>
</div>
</div>
@ -273,6 +348,59 @@ Public Member Functions</h2></td></tr>
<p>Implements <a class="el" href="classgrpc_1_1_auth_context.html#ad7b2e589590246b953decd05cdaa4465">grpc::AuthContext</a>.</p>
</div>
</div>
<a class="anchor" id="a975f73255b1419029efacc0353345007"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool grpc::SecureAuthContext::IsPeerAuthenticated </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the peer is authenticated. </p>
<p>Implements <a class="el" href="classgrpc_1_1_auth_context.html#af1d6a5c7cd67694d1a485c4127eb63dc">grpc::AuthContext</a>.</p>
</div>
</div>
<a class="anchor" id="a8581c1a3b15b2b64d9eb59095b2749d4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool grpc::SecureAuthContext::SetPeerIdentityPropertyName </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgrpc_1_1_auth_context.html#a218158a0698137b9c5d6fff0c8054cc4">grpc::AuthContext</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
@ -282,7 +410,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -105,10 +105,10 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a47caa26509a093e41bce0572918b0ee9"><td class="memItemLeft" align="right" valign="top">grpc_credentials *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_credentials.html#a47caa26509a093e41bce0572918b0ee9">GetRawCreds</a> ()</td></tr>
<tr class="separator:a47caa26509a093e41bce0572918b0ee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31c8428461d6f8cc063fc27bc20e8111"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_credentials.html#a31c8428461d6f8cc063fc27bc20e8111">ApplyToCall</a> (grpc_call *call) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:a31c8428461d6f8cc063fc27bc20e8111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply this instance's credentials to <em>call</em>. <a href="#a31c8428461d6f8cc063fc27bc20e8111">More...</a><br/></td></tr>
<tr class="separator:a31c8428461d6f8cc063fc27bc20e8111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af437fe5c55f111163116fd8b8cb2ec4e"><td class="memItemLeft" align="right" valign="top">std::shared_ptr<br class="typebreak"/>
&lt; <a class="el" href="classgrpc_1_1_channel_interface.html">grpc::ChannelInterface</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_credentials.html#af437fe5c55f111163116fd8b8cb2ec4e">CreateChannel</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a> &amp;target, const <a class="el" href="classgrpc_1_1_channel_arguments.html">grpc::ChannelArguments</a> &amp;args) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:af437fe5c55f111163116fd8b8cb2ec4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a0187f5aa80a603f425a5019d9918a5"><td class="memItemLeft" align="right" valign="top">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">grpc::Channel</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_credentials.html#a5a0187f5aa80a603f425a5019d9918a5">CreateChannel</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a> &amp;target, const <a class="el" href="classgrpc_1_1_channel_arguments.html">grpc::ChannelArguments</a> &amp;args) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a5a0187f5aa80a603f425a5019d9918a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38b7fab7095405703f806dd59084d6e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgrpc_1_1_secure_credentials.html">SecureCredentials</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_credentials.html#a38b7fab7095405703f806dd59084d6e0">AsSecureCredentials</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a38b7fab7095405703f806dd59084d6e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_credentials"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_credentials')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_credentials.html">grpc::Credentials</a></td></tr>
@ -194,6 +194,8 @@ Additional Inherited Members</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Apply this instance's credentials to <em>call</em>. </p>
<p>Implements <a class="el" href="classgrpc_1_1_credentials.html#a2b3162e0dbb4530ac1c4b81a0339b1e1">grpc::Credentials</a>.</p>
</div>
@ -223,7 +225,7 @@ Additional Inherited Members</h2></td></tr>
</div>
</div>
<a class="anchor" id="af437fe5c55f111163116fd8b8cb2ec4e"></a>
<a class="anchor" id="a5a0187f5aa80a603f425a5019d9918a5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
@ -231,7 +233,7 @@ Additional Inherited Members</h2></td></tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel_interface.html">grpc::ChannelInterface</a> &gt; grpc::SecureCredentials::CreateChannel </td>
<td class="memname">std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_channel.html">grpc::Channel</a> &gt; grpc::SecureCredentials::CreateChannel </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">string</a> &amp;&#160;</td>
<td class="paramname"><em>target</em>, </td>
@ -289,7 +291,7 @@ Additional Inherited Members</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -103,7 +103,10 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a7d8f7333b93e998e502ce61062868a5f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_server_credentials.html#a7d8f7333b93e998e502ce61062868a5f">~SecureServerCredentials</a> () <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:a7d8f7333b93e998e502ce61062868a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa32c2dc77540dfa81f0fd14ceb13fdc2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_server_credentials.html#aa32c2dc77540dfa81f0fd14ceb13fdc2">AddPortToServer</a> (const <a class="el" href="namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203">grpc::string</a> &amp;addr, grpc_server *server) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="memdesc:aa32c2dc77540dfa81f0fd14ceb13fdc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to bind <em>server</em> to the given <em>addr</em> (eg, localhost:1234, 192.168.1.1:31416, [::1]:27182, etc.) <a href="#aa32c2dc77540dfa81f0fd14ceb13fdc2">More...</a><br/></td></tr>
<tr class="separator:aa32c2dc77540dfa81f0fd14ceb13fdc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af36bbe2456a28b4339cea2e303a0c3b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_secure_server_credentials.html#af36bbe2456a28b4339cea2e303a0c3b2">SetAuthMetadataProcessor</a> (const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_auth_metadata_processor.html">AuthMetadataProcessor</a> &gt; &amp;processor) <a class="el" href="config_8h.html#a9a884d706be26697c9c892365a3402a9">GRPC_OVERRIDE</a></td></tr>
<tr class="separator:af36bbe2456a28b4339cea2e303a0c3b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_server_credentials"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_server_credentials')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_server_credentials.html">grpc::ServerCredentials</a></td></tr>
<tr class="memitem:a58d3eff33fffb0ecf55e44ac864011e1 inherit pub_methods_classgrpc_1_1_server_credentials"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_credentials.html#a58d3eff33fffb0ecf55e44ac864011e1">~ServerCredentials</a> ()</td></tr>
<tr class="separator:a58d3eff33fffb0ecf55e44ac864011e1 inherit pub_methods_classgrpc_1_1_server_credentials"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -189,8 +192,37 @@ Public Member Functions</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Tries to bind <em>server</em> to the given <em>addr</em> (eg, localhost:1234, 192.168.1.1:31416, [::1]:27182, etc.) </p>
<dl class="section return"><dt>Returns</dt><dd>bound port number on sucess, 0 on failure. </dd></dl>
<p>Implements <a class="el" href="classgrpc_1_1_server_credentials.html">grpc::ServerCredentials</a>.</p>
</div>
</div>
<a class="anchor" id="af36bbe2456a28b4339cea2e303a0c3b2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::SecureServerCredentials::SetAuthMetadataProcessor </td>
<td>(</td>
<td class="paramtype">const std::shared_ptr&lt; <a class="el" href="classgrpc_1_1_auth_metadata_processor.html">AuthMetadataProcessor</a> &gt; &amp;&#160;</td>
<td class="paramname"><em>processor</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classgrpc_1_1_server_credentials.html#a72cd4ae61b6c43024df0ffb3f1d51650">grpc::ServerCredentials</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
@ -200,7 +232,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -101,17 +101,17 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
class grpc::SerializationTraits&lt; Message, UnusedButHereForPartialTemplateSpecialization &gt;</h3>
<p>Defines how to serialize and deserialize some type. </p>
<p>Used for hooking different message serialization API's into GRPC. Each <a class="el" href="classgrpc_1_1_serialization_traits.html" title="Defines how to serialize and deserialize some type. ">SerializationTraits</a> implementation must provide the following functions: static <a class="el" href="classgrpc_1_1_status.html">Status</a> Serialize(const Message&amp; msg, grpc_byte_buffer** buffer, static <a class="el" href="classgrpc_1_1_status.html">Status</a> Deserialize(grpc_byte_buffer* buffer, Message* msg, int max_message_size);</p>
<p>Used for hooking different message serialization API's into GRPC. Each <a class="el" href="classgrpc_1_1_serialization_traits.html" title="Defines how to serialize and deserialize some type. ">SerializationTraits</a> implementation must provide the following functions: static <a class="el" href="classgrpc_1_1_status.html" title="Did it work? If it didn&#39;t, why? ">Status</a> Serialize(const Message&amp; msg, grpc_byte_buffer** buffer, static <a class="el" href="classgrpc_1_1_status.html" title="Did it work? If it didn&#39;t, why? ">Status</a> Deserialize(grpc_byte_buffer* buffer, Message* msg, int max_message_size);</p>
<p>Serialize is required to convert message to a grpc_byte_buffer, and to store a pointer to that byte buffer at *buffer. *own_buffer should be set to true if the caller owns said byte buffer, or false if ownership is retained elsewhere.</p>
<p>Deserialize is required to convert buffer into the message stored at msg. max_message_size is passed in as a bound on the maximum number of message bytes Deserialize should accept.</p>
<p>Both functions return a <a class="el" href="classgrpc_1_1_status.html">Status</a>, allowing them to explain what went wrong if required. </p>
<p>Both functions return a <a class="el" href="classgrpc_1_1_status.html" title="Did it work? If it didn&#39;t, why? ">Status</a>, allowing them to explain what went wrong if required. </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/impl/<a class="el" href="serialization__traits_8h_source.html">serialization_traits.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -185,12 +185,12 @@ Static Public Member Functions</h2></td></tr>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/grpc++/<a class="el" href="byte__buffer_8h_source.html">byte_buffer.h</a></li>
<li>include/grpc++/support/<a class="el" href="byte__buffer_8h_source.html">byte_buffer.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -194,7 +194,7 @@ template&lt;class T &gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -96,6 +96,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
</div><!--header-->
<div class="contents">
<p>Models a gRPC server.
<a href="classgrpc_1_1_server.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="server_8h_source.html">server.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
@ -104,14 +107,26 @@ Data Structures</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_1_1_sync_request.html">SyncRequest</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_request.html">UnimplementedAsyncRequest</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_request_context.html">UnimplementedAsyncRequestContext</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server_1_1_unimplemented_async_response.html">UnimplementedAsyncResponse</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa13591ff1bb2c5d871778189b391feb2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server.html#aa13591ff1bb2c5d871778189b391feb2">~Server</a> ()</td></tr>
<tr class="separator:aa13591ff1bb2c5d871778189b391feb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeadfd93954df3fdfe1ddcccc4e681f17"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:aeadfd93954df3fdfe1ddcccc4e681f17"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server.html#aeadfd93954df3fdfe1ddcccc4e681f17">Shutdown</a> (const T &amp;deadline)</td></tr>
<tr class="memdesc:aeadfd93954df3fdfe1ddcccc4e681f17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shutdown the server, blocking until all rpc processing finishes. <a href="#aeadfd93954df3fdfe1ddcccc4e681f17">More...</a><br/></td></tr>
<tr class="separator:aeadfd93954df3fdfe1ddcccc4e681f17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a777a9c8873ae4969585083e0e62482dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server.html#a777a9c8873ae4969585083e0e62482dc">Shutdown</a> ()</td></tr>
<tr class="memdesc:a777a9c8873ae4969585083e0e62482dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shutdown the server, waiting for all rpc processing to finish. <a href="#a777a9c8873ae4969585083e0e62482dc">More...</a><br/></td></tr>
<tr class="separator:a777a9c8873ae4969585083e0e62482dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f1ec2700c94637813178a5b5f71d6d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server.html#a6f1ec2700c94637813178a5b5f71d6d5">Wait</a> ()</td></tr>
<tr class="memdesc:a6f1ec2700c94637813178a5b5f71d6d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Block waiting for all work to complete. <a href="#a6f1ec2700c94637813178a5b5f71d6d5">More...</a><br/></td></tr>
<tr class="separator:a6f1ec2700c94637813178a5b5f71d6d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classgrpc_1_1_grpc_library"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classgrpc_1_1_grpc_library')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classgrpc_1_1_grpc_library.html">grpc::GrpcLibrary</a></td></tr>
<tr class="memitem:af026f86430cf235d7eaf532231a44528 inherit pub_methods_classgrpc_1_1_grpc_library"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_grpc_library.html#af026f86430cf235d7eaf532231a44528">GrpcLibrary</a> ()</td></tr>
@ -128,7 +143,10 @@ Friends</h2></td></tr>
<tr class="memitem:a8c2db91f514d534f06396d90c1b1f2c4"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgrpc_1_1_server.html#a8c2db91f514d534f06396d90c1b1f2c4">ServerBuilder</a></td></tr>
<tr class="separator:a8c2db91f514d534f06396d90c1b1f2c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Models a gRPC server. </p>
<p>Servers are configured and started via <em><a class="el" href="classgrpc_1_1_server_builder.html" title="A builder class for the creation and startup of grpc::Server instances. ">grpc::ServerBuilder</a></em>. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa13591ff1bb2c5d871778189b391feb2"></a>
<div class="memitem">
<div class="memproto">
@ -145,9 +163,47 @@ Friends</h2></td></tr>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aeadfd93954df3fdfe1ddcccc4e681f17"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::Server::Shutdown </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>deadline</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Shutdown the server, blocking until all rpc processing finishes. </p>
<p>Forcefully terminate pending calls after <em>deadline</em> expires.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">deadline</td><td>How long to wait until pending rpcs are forcefully terminated. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a777a9c8873ae4969585083e0e62482dc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void grpc::Server::Shutdown </td>
@ -156,8 +212,15 @@ Friends</h2></td></tr>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Shutdown the server, waiting for all rpc processing to finish. </p>
</div>
</div>
<a class="anchor" id="a6f1ec2700c94637813178a5b5f71d6d5"></a>
@ -173,6 +236,9 @@ Friends</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Block waiting for all work to complete. </p>
<dl class="section warning"><dt>Warning</dt><dd>The server must be either shutting down or some other thread must call <em>Shutdown</em> for this function to ever return. </dd></dl>
</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
@ -243,7 +309,7 @@ Friends</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

@ -23,7 +23,7 @@
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">GRPC C++
&#160;<span id="projectnumber">0.10.0.0</span>
&#160;<span id="projectnumber">0.11.0.0</span>
</div>
</td>
</tr>
@ -145,7 +145,7 @@ Public Member Functions</h2></td></tr>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Aug 5 2015 08:17:08 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Thu Sep 3 2015 09:44:14 for GRPC C++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save