<details><summary>old output</summary>
```
-------------- GetFeature --------------
Feature called Berkshire Valley Management Area Trail, Jefferson, NJ, USA at latitude: 409146138
longitude: -746188906
Found no feature at
-------------- ListFeatures --------------
Looking for features between 40, -75 and 42, -73
Feature called Patriots Path, Mendham, NJ 07945, USA at latitude: 407838351
longitude: -746143763
Feature called 101 New Jersey 10, Whippany, NJ 07981, USA at latitude: 408122808
longitude: -743999179
Feature called U.S. 6, Shohola, PA 18458, USA at latitude: 413628156
longitude: -749015468
Feature called 5 Conners Road, Kingston, NY 12401, USA at latitude: 419999544
longitude: -740371136
Feature called Mid Hudson Psychiatric Center, New Hampton, NY 10958, USA at latitude: 414008389
longitude: -743951297
Feature called 287 Flugertown Road, Livingston Manor, NY 12758, USA at latitude: 419611318
longitude: -746524769
Feature called 4001 Tremley Point Road, Linden, NJ 07036, USA at latitude: 406109563
longitude: -742186778
Feature called 352 South Mountain Road, Wallkill, NY 12589, USA at latitude: 416802456
longitude: -742370183
Feature called Bailey Turn Road, Harriman, NY 10926, USA at latitude: 412950425
longitude: -741077389
Feature called 193-199 Wawayanda Road, Hewitt, NJ 07421, USA at latitude: 412144655
longitude: -743949739
Feature called 406-496 Ward Avenue, Pine Bush, NY 12566, USA at latitude: 415736605
longitude: -742847522
Feature called 162 Merrill Road, Highland Mills, NY 10930, USA at latitude: 413843930
longitude: -740501726
Feature called Clinton Road, West Milford, NJ 07480, USA at latitude: 410873075
longitude: -744459023
Feature called 16 Old Brook Lane, Warwick, NY 10990, USA at latitude: 412346009
longitude: -744026814
Feature called 3 Drake Lane, Pennington, NJ 08534, USA at latitude: 402948455
longitude: -747903913
Feature called 6324 8th Avenue, Brooklyn, NY 11220, USA at latitude: 406337092
longitude: -740122226
Feature called 1 Merck Access Road, Whitehouse Station, NJ 08889, USA at latitude: 406421967
longitude: -747727624
Feature called 78-98 Schalck Road, Narrowsburg, NY 12764, USA at latitude: 416318082
longitude: -749677716
Feature called 282 Lakeview Drive Road, Highland Lake, NY 12743, USA at latitude: 415301720
longitude: -748416257
Feature called 330 Evelyn Avenue, Hamilton Township, NJ 08619, USA at latitude: 402647019
longitude: -747071791
Feature called New York State Reference Route 987E, Southfields, NY 10975, USA at latitude: 412567807
longitude: -741058078
Feature called 103-271 Tempaloni Road, Ellenville, NY 12428, USA at latitude: 416855156
longitude: -744420597
Feature called 1300 Airport Road, North Brunswick Township, NJ 08902, USA at latitude: 404663628
longitude: -744820157
Feature called at latitude: 407113723
longitude: -749746483
Feature called at latitude: 402133926
longitude: -743613249
Feature called at latitude: 400273442
longitude: -741220915
Feature called at latitude: 411236786
longitude: -744070769
Feature called 211-225 Plains Road, Augusta, NJ 07822, USA at latitude: 411633782
longitude: -746784970
Feature called at latitude: 415830701
longitude: -742952812
Feature called 165 Pedersen Ridge Road, Milford, PA 18337, USA at latitude: 413447164
longitude: -748712898
Feature called 100-122 Locktown Road, Frenchtown, NJ 08825, USA at latitude: 405047245
longitude: -749800722
Feature called at latitude: 418858923
longitude: -746156790
Feature called 650-652 Willi Hill Road, Swan Lake, NY 12783, USA at latitude: 417951888
longitude: -748484944
Feature called 26 East 3rd Street, New Providence, NJ 07974, USA at latitude: 407033786
longitude: -743977337
Feature called at latitude: 417548014
longitude: -740075041
Feature called at latitude: 410395868
longitude: -744972325
Feature called at latitude: 404615353
longitude: -745129803
Feature called 611 Lawrence Avenue, Westfield, NJ 07090, USA at latitude: 406589790
longitude: -743560121
Feature called 18 Lannis Avenue, New Windsor, NY 12553, USA at latitude: 414653148
longitude: -740477477
Feature called 82-104 Amherst Avenue, Colonia, NJ 07067, USA at latitude: 405957808
longitude: -743255336
Feature called 170 Seven Lakes Drive, Sloatsburg, NY 10974, USA at latitude: 411733589
longitude: -741648093
Feature called 1270 Lakes Road, Monroe, NY 10950, USA at latitude: 412676291
longitude: -742606606
Feature called 509-535 Alphano Road, Great Meadows, NJ 07838, USA at latitude: 409224445
longitude: -748286738
Feature called 652 Garden Street, Elizabeth, NJ 07202, USA at latitude: 406523420
longitude: -742135517
Feature called 349 Sea Spray Court, Neptune City, NJ 07753, USA at latitude: 401827388
longitude: -740294537
Feature called 13-17 Stanley Street, West Milford, NJ 07480, USA at latitude: 410564152
longitude: -743685054
Feature called 47 Industrial Avenue, Teterboro, NJ 07608, USA at latitude: 408472324
longitude: -740726046
Feature called 5 White Oak Lane, Stony Point, NY 10980, USA at latitude: 412452168
longitude: -740214052
Feature called Berkshire Valley Management Area Trail, Jefferson, NJ, USA at latitude: 409146138
longitude: -746188906
Feature called 1007 Jersey Avenue, New Brunswick, NJ 08901, USA at latitude: 404701380
longitude: -744781745
Feature called 6 East Emerald Isle Drive, Lake Hopatcong, NJ 07849, USA at latitude: 409642566
longitude: -746017679
Feature called 1358-1474 New Jersey 57, Port Murray, NJ 07865, USA at latitude: 408031728
longitude: -748645385
Feature called 367 Prospect Road, Chester, NY 10918, USA at latitude: 413700272
longitude: -742135189
Feature called 10 Simon Lake Drive, Atlantic Highlands, NJ 07716, USA at latitude: 404310607
longitude: -740282632
Feature called 11 Ward Street, Mount Arlington, NJ 07856, USA at latitude: 409319800
longitude: -746201391
Feature called 300-398 Jefferson Avenue, Elizabeth, NJ 07201, USA at latitude: 406685311
longitude: -742108603
Feature called 43 Dreher Road, Roscoe, NY 12776, USA at latitude: 419018117
longitude: -749142781
Feature called Swan Street, Pine Island, NY 10969, USA at latitude: 412856162
longitude: -745148837
Feature called 66 Pleasantview Avenue, Monticello, NY 12701, USA at latitude: 416560744
longitude: -746721964
Feature called at latitude: 405314270
longitude: -749836354
Feature called at latitude: 414219548
longitude: -743327440
Feature called 565 Winding Hills Road, Montgomery, NY 12549, USA at latitude: 415534177
longitude: -742900616
Feature called 231 Rocky Run Road, Glen Gardner, NJ 08826, USA at latitude: 406898530
longitude: -749127080
Feature called 100 Mount Pleasant Avenue, Newark, NJ 07104, USA at latitude: 407586880
longitude: -741670168
Feature called 517-521 Huntington Drive, Manchester Township, NJ 08759, USA at latitude: 400106455
longitude: -742870190
Feature called at latitude: 400066188
longitude: -746793294
Feature called 40 Mountain Road, Napanoch, NY 12458, USA at latitude: 418803880
longitude: -744102673
Feature called at latitude: 414204288
longitude: -747895140
Feature called at latitude: 414777405
longitude: -740615601
Feature called 48 North Road, Forestburgh, NY 12777, USA at latitude: 415464475
longitude: -747175374
Feature called at latitude: 404062378
longitude: -746376177
Feature called at latitude: 405688272
longitude: -749285130
Feature called at latitude: 400342070
longitude: -748788996
Feature called at latitude: 401809022
longitude: -744157964
Feature called 9 Thompson Avenue, Leonardo, NJ 07737, USA at latitude: 404226644
longitude: -740517141
Feature called at latitude: 410322033
longitude: -747871659
Feature called at latitude: 407100674
longitude: -747742727
Feature called 213 Bush Road, Stone Ridge, NY 12484, USA at latitude: 418811433
longitude: -741718005
Feature called at latitude: 415034302
longitude: -743850945
Feature called at latitude: 411349992
longitude: -743694161
Feature called 1-17 Bergen Court, New Brunswick, NJ 08901, USA at latitude: 404839914
longitude: -744759616
Feature called 35 Oakland Valley Road, Cuddebackville, NY 12729, USA at latitude: 414638017
longitude: -745957854
Feature called at latitude: 412127800
longitude: -740173578
Feature called at latitude: 401263460
longitude: -747964303
Feature called at latitude: 412843391
longitude: -749086026
Feature called at latitude: 418512773
longitude: -743067823
Feature called 42-102 Main Street, Belford, NJ 07718, USA at latitude: 404318328
longitude: -740835638
Feature called at latitude: 419020746
longitude: -741172328
Feature called at latitude: 404080723
longitude: -746119569
Feature called at latitude: 401012643
longitude: -744035134
Feature called at latitude: 404306372
longitude: -741079661
Feature called at latitude: 403966326
longitude: -748519297
Feature called at latitude: 405002031
longitude: -748407866
Feature called at latitude: 409532885
longitude: -742200683
Feature called at latitude: 416851321
longitude: -742674555
Feature called 3387 Richmond Terrace, Staten Island, NY 10303, USA at latitude: 406411633
longitude: -741722051
Feature called 261 Van Sickle Road, Goshen, NY 10924, USA at latitude: 413069058
longitude: -744597778
Feature called at latitude: 418465462
longitude: -746859398
Feature called at latitude: 411733222
longitude: -744228360
Feature called 3 Hasta Way, Newton, NJ 07860, USA at latitude: 410248224
longitude: -747127767
-------------- RecordRoute --------------
Visiting point latitude: 414638017
longitude: -745957854
Visiting point latitude: 419018117
longitude: -749142781
Visiting point latitude: 410248224
longitude: -747127767
Visiting point latitude: 410248224
longitude: -747127767
Visiting point latitude: 405688272
longitude: -749285130
Visiting point latitude: 409532885
longitude: -742200683
Visiting point latitude: 419611318
longitude: -746524769
Visiting point latitude: 419611318
longitude: -746524769
Visiting point latitude: 404080723
longitude: -746119569
Visiting point latitude: 419611318
longitude: -746524769
Finished trip with 10 points
Passed 10 features
Travelled 744802 meters
It took 0 seconds
-------------- RouteChat --------------
Sending First message at
Sending Second message at longitude: 1
Sending Third message at latitude: 1
Sending Fourth message at
Sending Fifth message at latitude: 1
Received message First message at
Received message Third message at latitude: 1
```
</details>
<details><summary>new output</summary>
```
-------------- GetFeature --------------
Feature called 'Berkshire Valley Management Area Trail, Jefferson, NJ, USA' at latitude: 409146138, longitude: -746188906
Found no feature at latitude: 0, longitude: 0
-------------- ListFeatures --------------
Looking for features between 40, -75 and 42, -73
Feature called 'Patriots Path, Mendham, NJ 07945, USA' at latitude: 407838351, longitude: -746143763
Feature called '101 New Jersey 10, Whippany, NJ 07981, USA' at latitude: 408122808, longitude: -743999179
Feature called 'U.S. 6, Shohola, PA 18458, USA' at latitude: 413628156, longitude: -749015468
Feature called '5 Conners Road, Kingston, NY 12401, USA' at latitude: 419999544, longitude: -740371136
Feature called 'Mid Hudson Psychiatric Center, New Hampton, NY 10958, USA' at latitude: 414008389, longitude: -743951297
Feature called '287 Flugertown Road, Livingston Manor, NY 12758, USA' at latitude: 419611318, longitude: -746524769
Feature called '4001 Tremley Point Road, Linden, NJ 07036, USA' at latitude: 406109563, longitude: -742186778
Feature called '352 South Mountain Road, Wallkill, NY 12589, USA' at latitude: 416802456, longitude: -742370183
Feature called 'Bailey Turn Road, Harriman, NY 10926, USA' at latitude: 412950425, longitude: -741077389
Feature called '193-199 Wawayanda Road, Hewitt, NJ 07421, USA' at latitude: 412144655, longitude: -743949739
Feature called '406-496 Ward Avenue, Pine Bush, NY 12566, USA' at latitude: 415736605, longitude: -742847522
Feature called '162 Merrill Road, Highland Mills, NY 10930, USA' at latitude: 413843930, longitude: -740501726
Feature called 'Clinton Road, West Milford, NJ 07480, USA' at latitude: 410873075, longitude: -744459023
Feature called '16 Old Brook Lane, Warwick, NY 10990, USA' at latitude: 412346009, longitude: -744026814
Feature called '3 Drake Lane, Pennington, NJ 08534, USA' at latitude: 402948455, longitude: -747903913
Feature called '6324 8th Avenue, Brooklyn, NY 11220, USA' at latitude: 406337092, longitude: -740122226
Feature called '1 Merck Access Road, Whitehouse Station, NJ 08889, USA' at latitude: 406421967, longitude: -747727624
Feature called '78-98 Schalck Road, Narrowsburg, NY 12764, USA' at latitude: 416318082, longitude: -749677716
Feature called '282 Lakeview Drive Road, Highland Lake, NY 12743, USA' at latitude: 415301720, longitude: -748416257
Feature called '330 Evelyn Avenue, Hamilton Township, NJ 08619, USA' at latitude: 402647019, longitude: -747071791
Feature called 'New York State Reference Route 987E, Southfields, NY 10975, USA' at latitude: 412567807, longitude: -741058078
Feature called '103-271 Tempaloni Road, Ellenville, NY 12428, USA' at latitude: 416855156, longitude: -744420597
Feature called '1300 Airport Road, North Brunswick Township, NJ 08902, USA' at latitude: 404663628, longitude: -744820157
Feature called '' at latitude: 407113723, longitude: -749746483
Feature called '' at latitude: 402133926, longitude: -743613249
Feature called '' at latitude: 400273442, longitude: -741220915
Feature called '' at latitude: 411236786, longitude: -744070769
Feature called '211-225 Plains Road, Augusta, NJ 07822, USA' at latitude: 411633782, longitude: -746784970
Feature called '' at latitude: 415830701, longitude: -742952812
Feature called '165 Pedersen Ridge Road, Milford, PA 18337, USA' at latitude: 413447164, longitude: -748712898
Feature called '100-122 Locktown Road, Frenchtown, NJ 08825, USA' at latitude: 405047245, longitude: -749800722
Feature called '' at latitude: 418858923, longitude: -746156790
Feature called '650-652 Willi Hill Road, Swan Lake, NY 12783, USA' at latitude: 417951888, longitude: -748484944
Feature called '26 East 3rd Street, New Providence, NJ 07974, USA' at latitude: 407033786, longitude: -743977337
Feature called '' at latitude: 417548014, longitude: -740075041
Feature called '' at latitude: 410395868, longitude: -744972325
Feature called '' at latitude: 404615353, longitude: -745129803
Feature called '611 Lawrence Avenue, Westfield, NJ 07090, USA' at latitude: 406589790, longitude: -743560121
Feature called '18 Lannis Avenue, New Windsor, NY 12553, USA' at latitude: 414653148, longitude: -740477477
Feature called '82-104 Amherst Avenue, Colonia, NJ 07067, USA' at latitude: 405957808, longitude: -743255336
Feature called '170 Seven Lakes Drive, Sloatsburg, NY 10974, USA' at latitude: 411733589, longitude: -741648093
Feature called '1270 Lakes Road, Monroe, NY 10950, USA' at latitude: 412676291, longitude: -742606606
Feature called '509-535 Alphano Road, Great Meadows, NJ 07838, USA' at latitude: 409224445, longitude: -748286738
Feature called '652 Garden Street, Elizabeth, NJ 07202, USA' at latitude: 406523420, longitude: -742135517
Feature called '349 Sea Spray Court, Neptune City, NJ 07753, USA' at latitude: 401827388, longitude: -740294537
Feature called '13-17 Stanley Street, West Milford, NJ 07480, USA' at latitude: 410564152, longitude: -743685054
Feature called '47 Industrial Avenue, Teterboro, NJ 07608, USA' at latitude: 408472324, longitude: -740726046
Feature called '5 White Oak Lane, Stony Point, NY 10980, USA' at latitude: 412452168, longitude: -740214052
Feature called 'Berkshire Valley Management Area Trail, Jefferson, NJ, USA' at latitude: 409146138, longitude: -746188906
Feature called '1007 Jersey Avenue, New Brunswick, NJ 08901, USA' at latitude: 404701380, longitude: -744781745
Feature called '6 East Emerald Isle Drive, Lake Hopatcong, NJ 07849, USA' at latitude: 409642566, longitude: -746017679
Feature called '1358-1474 New Jersey 57, Port Murray, NJ 07865, USA' at latitude: 408031728, longitude: -748645385
Feature called '367 Prospect Road, Chester, NY 10918, USA' at latitude: 413700272, longitude: -742135189
Feature called '10 Simon Lake Drive, Atlantic Highlands, NJ 07716, USA' at latitude: 404310607, longitude: -740282632
Feature called '11 Ward Street, Mount Arlington, NJ 07856, USA' at latitude: 409319800, longitude: -746201391
Feature called '300-398 Jefferson Avenue, Elizabeth, NJ 07201, USA' at latitude: 406685311, longitude: -742108603
Feature called '43 Dreher Road, Roscoe, NY 12776, USA' at latitude: 419018117, longitude: -749142781
Feature called 'Swan Street, Pine Island, NY 10969, USA' at latitude: 412856162, longitude: -745148837
Feature called '66 Pleasantview Avenue, Monticello, NY 12701, USA' at latitude: 416560744, longitude: -746721964
Feature called '' at latitude: 405314270, longitude: -749836354
Feature called '' at latitude: 414219548, longitude: -743327440
Feature called '565 Winding Hills Road, Montgomery, NY 12549, USA' at latitude: 415534177, longitude: -742900616
Feature called '231 Rocky Run Road, Glen Gardner, NJ 08826, USA' at latitude: 406898530, longitude: -749127080
Feature called '100 Mount Pleasant Avenue, Newark, NJ 07104, USA' at latitude: 407586880, longitude: -741670168
Feature called '517-521 Huntington Drive, Manchester Township, NJ 08759, USA' at latitude: 400106455, longitude: -742870190
Feature called '' at latitude: 400066188, longitude: -746793294
Feature called '40 Mountain Road, Napanoch, NY 12458, USA' at latitude: 418803880, longitude: -744102673
Feature called '' at latitude: 414204288, longitude: -747895140
Feature called '' at latitude: 414777405, longitude: -740615601
Feature called '48 North Road, Forestburgh, NY 12777, USA' at latitude: 415464475, longitude: -747175374
Feature called '' at latitude: 404062378, longitude: -746376177
Feature called '' at latitude: 405688272, longitude: -749285130
Feature called '' at latitude: 400342070, longitude: -748788996
Feature called '' at latitude: 401809022, longitude: -744157964
Feature called '9 Thompson Avenue, Leonardo, NJ 07737, USA' at latitude: 404226644, longitude: -740517141
Feature called '' at latitude: 410322033, longitude: -747871659
Feature called '' at latitude: 407100674, longitude: -747742727
Feature called '213 Bush Road, Stone Ridge, NY 12484, USA' at latitude: 418811433, longitude: -741718005
Feature called '' at latitude: 415034302, longitude: -743850945
Feature called '' at latitude: 411349992, longitude: -743694161
Feature called '1-17 Bergen Court, New Brunswick, NJ 08901, USA' at latitude: 404839914, longitude: -744759616
Feature called '35 Oakland Valley Road, Cuddebackville, NY 12729, USA' at latitude: 414638017, longitude: -745957854
Feature called '' at latitude: 412127800, longitude: -740173578
Feature called '' at latitude: 401263460, longitude: -747964303
Feature called '' at latitude: 412843391, longitude: -749086026
Feature called '' at latitude: 418512773, longitude: -743067823
Feature called '42-102 Main Street, Belford, NJ 07718, USA' at latitude: 404318328, longitude: -740835638
Feature called '' at latitude: 419020746, longitude: -741172328
Feature called '' at latitude: 404080723, longitude: -746119569
Feature called '' at latitude: 401012643, longitude: -744035134
Feature called '' at latitude: 404306372, longitude: -741079661
Feature called '' at latitude: 403966326, longitude: -748519297
Feature called '' at latitude: 405002031, longitude: -748407866
Feature called '' at latitude: 409532885, longitude: -742200683
Feature called '' at latitude: 416851321, longitude: -742674555
Feature called '3387 Richmond Terrace, Staten Island, NY 10303, USA' at latitude: 406411633, longitude: -741722051
Feature called '261 Van Sickle Road, Goshen, NY 10924, USA' at latitude: 413069058, longitude: -744597778
Feature called '' at latitude: 418465462, longitude: -746859398
Feature called '' at latitude: 411733222, longitude: -744228360
Feature called '3 Hasta Way, Newton, NJ 07860, USA' at latitude: 410248224, longitude: -747127767
-------------- RecordRoute --------------
Visiting point latitude: 411733222, longitude: -744228360
Visiting point latitude: 419018117, longitude: -749142781
Visiting point latitude: 414638017, longitude: -745957854
Visiting point latitude: 407586880, longitude: -741670168
Visiting point latitude: 412676291, longitude: -742606606
Visiting point latitude: 416851321, longitude: -742674555
Visiting point latitude: 406685311, longitude: -742108603
Visiting point latitude: 418803880, longitude: -744102673
Visiting point latitude: 415301720, longitude: -748416257
Visiting point latitude: 415301720, longitude: -748416257
Finished trip with 10 points
Passed 10 features
Travelled 637794 meters
It took 0 seconds
-------------- RouteChat --------------
Sending First message at latitude: 0, longitude: 0
Sending Second message at latitude: 0, longitude: 1
Sending Third message at latitude: 1, longitude: 0
Sending Fourth message at latitude: 0, longitude: 0
Sending Fifth message at latitude: 1, longitude: 0
Received message First message at latitude: 0, longitude: 0
Received message Third message at latitude: 1, longitude: 0
```
</details>
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
Have added the required client, server, proto and proto generated files.
The design of the example is as follows:
1. The client sends a bulk amount of data(approx. 2 KB in each
iteration) to the server in a streaming call.
2. The server applies back-pressure by delaying reading of the requests,
which makes the client pause sending requests after around 64KB
3. The client then resumes sending requests only after the server reads
a few requests and clears the buffer.
By adding print statements on data send/receive on both client and
server side, the client pausing/resuming requests can be seen clearly.
The client and server logs can be seen below:
**Client Logs**
```
Request 10: Sent 20000 bytes in total
Request 20: Sent 40000 bytes in total
Request 30: Sent 60000 bytes in total
Request 40: Sent 80000 bytes in total
Received 10 responses
Request 50: Sent 100000 bytes in total
Received 20 responses
Request 60: Sent 120000 bytes in total
Received 30 responses
Request 70: Sent 140000 bytes in total
Received 40 responses
Request 80: Sent 160000 bytes in total
Received 50 responses
Request 90: Sent 180000 bytes in total
Received 60 responses
Request 100: Sent 200000 bytes in total
Received 70 responses
Received 80 responses
Received 90 responses
Received 100 responses
```
**Server Logs**
```
Server started, listening on 50051
Request 10: Received 20000 bytes in total
Request 10: Sent 20000 bytes in total
Request 20: Received 40000 bytes in total
Request 20: Sent 40000 bytes in total
Request 30: Received 60000 bytes in total
Request 30: Sent 60000 bytes in total
Request 40: Received 80000 bytes in total
Request 40: Sent 80000 bytes in total
Request 50: Received 100000 bytes in total
Request 50: Sent 100000 bytes in total
Request 60: Received 120000 bytes in total
Request 60: Sent 120000 bytes in total
Request 70: Received 140000 bytes in total
Request 70: Sent 140000 bytes in total
Request 80: Received 160000 bytes in total
Request 80: Sent 160000 bytes in total
Request 90: Received 180000 bytes in total
Request 90: Sent 180000 bytes in total
Request 100: Received 200000 bytes in total
Request 100: Sent 200000 bytes in total
```
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#37034
PiperOrigin-RevId: 646276954
Simple change to stop writing if `ok` is false in `OnWriteDone()`
Closes#36958
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36958 from yashykt:UpdateRouteGuideExample cd5b066350
PiperOrigin-RevId: 644471350
The intention behind this PR is to improve the example to aid the upcoming callback API guide.
Also fixes#25823Closes#36930
PiperOrigin-RevId: 644166441
* Latency in 50 percentile:
![Screenshot 2024-06-12 at 11 04
08 AM](https://github.com/grpc/grpc/assets/24593237/cb315d47-0983-40b7-ab9d-75afb93b232c)
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
Verified that when following User Guide, we're able to collect metrics
and export to GCP.
Images are available at:
*
`us-docker.pkg.dev/grpc-testing/examples/csm-o11y-example-python-client:latest`
*
`us-docker.pkg.dev/grpc-testing/examples/csm-o11y-example-python-server:latest`
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
Public Changes -
* Add a pkgconfig installer for `grpcpp_otel_plugin`
Example Changes -
* Add example of how to use the pkgconfig for `grpcpp_otel_plugin` with the existing OpenTelemetry example.
* Add another OpenTelemetry example that uses OTel's OStream exporter. This makes it easier to test the pkgconfig file for `grpcpp_otel_plugin` since the OStream exporter does not require any additional dependencies, as opposed to the Prometheus exporter.
Test changes -
* Modify `run_distrib_test_cmake_pkgconfig.sh` test to install opentelemetry and build the example with the OStream exporter.
Closes#36686
PiperOrigin-RevId: 636965475
Add registered method change to sync stack server.
## Note
* We're keeping both generic and registered handler in generated stubs (`*_pb2_grpc.py`) because registered method flow is not implemented in aysncio yet, since the stub is used for both sync and asyncio, we can't remove generic method flow until we fully implement the registered method flow in asyncio.
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#36371
PiperOrigin-RevId: 629842051
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#36448
PiperOrigin-RevId: 629113962
Fix https://github.com/grpc/grpc/issues/36367.
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#36382
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36382 from yijiem:fix-example-cmake 54521e87a1
PiperOrigin-RevId: 625469934
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#36359
PiperOrigin-RevId: 625183028
This commit does the following 3 things for Android bazel rules, which depends on each other
1. Update NDK to 26.2.11394342 (and a few other Android things)
2. Use rules_android_ndk instead of builtin `native.android_ndk_repository`
* `third_party/android/android_configure.bzl` was a workaround for users who don't set `$ANDROID_NDK_HOME` env var. Now with rules_android_ndk, we can declare repo without registering the toolchain. Instead users who need NDK toolchain should use `--extra_toolchains` to manually register the toolchain, as shown in README.md.
3. Migrate to platforms. See https://bazel.build/concepts/platforms
* Currently we declares android platforms that is needed for binder transport APK. Later gRPC repo can gradually migrate to platforms for other platforms.
* The value of `crosstool_top` will still be `//external:android/crosstool` (which is the default value), so existings android `config_settings` will still work. We should migrate them to match with `@platforms//os:android` constraint later.
The platforms migration needs Bazel 7.0 to work so we also override bazel version in testing scripts.
Closes#36116
PiperOrigin-RevId: 617244655
Address comments from design review meeting, mainly:
* Use `OpenTelemetryPlugin` as public API.
* Use keyword args to build plugin.
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#36094
PiperOrigin-RevId: 615807264
The stubs generated by grpcio_tools should always be used with [the same or higher version of grpcio](https://github.com/grpc/grpc/blob/master/tools/distrib/python/grpcio_tools/setup.py#L313), this change will add a run time check for this requirement inside the generated stubs and therefor enforce this requirement.
Please note for now we're just printing a warning for incorrect usage, we'll **change it to an error** soon.
Example warning message:
```
/usr/local/google/home/xuanwn/workspace/misc/grpc/examples/python/helloworld/helloworld_pb2_grpc.py:21: RuntimeWarning: The grpc package installed is at version 1.60.1, but the generated code in helloworld_pb2_grpc.py depends on grpcio>=1.63.0.dev0. Please upgrade your grpc module to grpcio>=1.63.0.dev0 or downgrade your generated code using grpcio-tools<=1.60.1. This warning will become an error in 1.64.0, scheduled for release on May 14,2024.
```
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#35906
PiperOrigin-RevId: 615659471
Changes -
* Add CMake build support to `grpcpp_otel_plugin`. Currently, we are only supporting the `find_package CONFIG` method for depending on `opentelemetry-cpp`.
* Since, `grpcpp_otel_plugin` is an extension of gRPC, it will not be built by default. To enable building of this target, a new CMake option `gRPC_BUILD_GRPCPP_OTEL_PLUGIN` is being added.
* Also add `CMakeLists.txt` to the otel example.
The `otel_plugin_test` can also be built through cmake but, for the CI to work, there are some additional changes. Those will be made in an upcoming PR.
Closes#36063
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36063 from yashykt:OTelCMakeSupport 3bc783823b
PiperOrigin-RevId: 613734473
Allow start observability globally with a new API `start_open_telemetry_observability`.
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#35932
PiperOrigin-RevId: 612639020
- PHP 7.4 and 8.0 have been EOL https://www.php.net/supported-versions.php
- See go/drop-php-8.0 for more details
Most of the changes came from `generate_projects.sh` after updating the `tools/buildgen/plugins/expand_version.py` file. The change to `tools/internal_ci/helper_scripts/prepare_build_macos_rc` is manual.
Closes#35964
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35964 from stanley-cheung:php-update-to-8_1 0c24c4eac2
PiperOrigin-RevId: 609495798
This reverts commit a18279db2e.
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#35850
PiperOrigin-RevId: 607476066
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#35792
PiperOrigin-RevId: 604695910
1. Update cookies after all successful RPCs. Ensures that client adapts to changes in cluster configuration.
2. Reorganized client code to extract more snippets that could be copy-pasted.
3. Docker build now uses the same bazel build as outside code.
Closes#35799
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35799 from eugeneo:tasks/ssa-example-bug 801205a532
PiperOrigin-RevId: 603805785
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
We've been trying to upgrade Cmake to 3.13 or later as OSS policy bumped it. But we couldn't as Android has a weird linker error with Cmake 3.18 (you can see the error from https://github.com/grpc/grpc/pull/34331) This PR instead upgrades it to use 3.22 for Android test.
Closes#35572
PiperOrigin-RevId: 599317285
We're having some issues internally, rolling this change back for now and wait for the affected users to figure out a solution.
This reverts: https://github.com/grpc/grpc/pull/35002, https://github.com/grpc/grpc/pull/35482 and 6872a7a473
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#35522
PiperOrigin-RevId: 597671989
Add token based authentication example
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
Based on [OpenTelemetry Metrics gRFC](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md#opentelemetry-metrics), we should recored unregistered RPC method name as `other`, this PR adds the ability to pass register method information when creating a call.
We'll consider calls created using generated stubs as registered, note that this won't prevent user from setting `registered_method=True` when creating calls manually.
This is also enabled for simple stub flow but **NOT enabled for AsyncIO**, we'll add that later when start working on AsyncIO Observability.
<!--
If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the appropriate
lang label.
-->
Closes#35002
PiperOrigin-RevId: 596719121
Due to an internal issue, some code from objective-c folder was copied
into objective_c .
Trying to undo that.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
Fix: https://github.com/grpc/grpc/issues/34690
Also added generated proto files to example folder so we can run example
directly.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->