{"action":"created","issue":{"url":"https://api.github.com/repos/grpc/grpc/issues/17144","repository_url":"https://api.github.com/repos/grpc/grpc","labels_url":"https://api.github.com/repos/grpc/grpc/issues/17144/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc/issues/17144/comments","events_url":"https://api.github.com/repos/grpc/grpc/issues/17144/events","html_url":"https://github.com/grpc/grpc/pull/17144","id":378465914,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI5MTY1ODIx","number":17144,"title":"C++ callback API for streaming servers","user":{"login":"vjpai","id":8864912,"node_id":"MDQ6VXNlcjg4NjQ5MTI=","avatar_url":"https://avatars0.githubusercontent.com/u/8864912?v=4","gravatar_id":"","url":"https://api.github.com/users/vjpai","html_url":"https://github.com/vjpai","followers_url":"https://api.github.com/users/vjpai/followers","following_url":"https://api.github.com/users/vjpai/following{/other_user}","gists_url":"https://api.github.com/users/vjpai/gists{/gist_id}","starred_url":"https://api.github.com/users/vjpai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vjpai/subscriptions","organizations_url":"https://api.github.com/users/vjpai/orgs","repos_url":"https://api.github.com/users/vjpai/repos","events_url":"https://api.github.com/users/vjpai/events{/privacy}","received_events_url":"https://api.github.com/users/vjpai/received_events","type":"User","site_admin":false},"labels":[{"id":961832073,"node_id":"MDU6TGFiZWw5NjE4MzIwNzM=","url":"https://api.github.com/repos/grpc/grpc/labels/release%20notes:%20no","name":"release notes: no","color":"0f5f75","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":14,"created_at":"2018-11-07T20:57:20Z","updated_at":"2018-11-16T00:29:28Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/grpc/grpc/pulls/17144","html_url":"https://github.com/grpc/grpc/pull/17144","diff_url":"https://github.com/grpc/grpc/pull/17144.diff","patch_url":"https://github.com/grpc/grpc/pull/17144.patch"},"body":"Fixes #16503\r\n\r\nProvide a callback API for streaming servers based on the \"Reactor\" model also used in #17104 on the client-side\r\n\r\nRequesting overall review from @ncteisen and review for interceptor-related issues (since they were a bit complicated here) from @yashykt \r\n\r\nCc: @jeady @wcevans @yang-g \r\n"},"comment":{"url":"https://api.github.com/repos/grpc/grpc/issues/comments/439239540","html_url":"https://github.com/grpc/grpc/pull/17144#issuecomment-439239540","issue_url":"https://api.github.com/repos/grpc/grpc/issues/17144","id":439239540,"node_id":"MDEyOklzc3VlQ29tbWVudDQzOTIzOTU0MA==","user":{"login":"grpc-testing","id":28024233,"node_id":"MDQ6VXNlcjI4MDI0MjMz","avatar_url":"https://avatars1.githubusercontent.com/u/28024233?v=4","gravatar_id":"","url":"https://api.github.com/users/grpc-testing","html_url":"https://github.com/grpc-testing","followers_url":"https://api.github.com/users/grpc-testing/followers","following_url":"https://api.github.com/users/grpc-testing/following{/other_user}","gists_url":"https://api.github.com/users/grpc-testing/gists{/gist_id}","starred_url":"https://api.github.com/users/grpc-testing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grpc-testing/subscriptions","organizations_url":"https://api.github.com/users/grpc-testing/orgs","repos_url":"https://api.github.com/users/grpc-testing/repos","events_url":"https://api.github.com/users/grpc-testing/events{/privacy}","received_events_url":"https://api.github.com/users/grpc-testing/received_events","type":"User","site_admin":false},"created_at":"2018-11-16T00:29:28Z","updated_at":"2018-11-16T00:29:28Z","author_association":"NONE","body":"```\n****************************************************************\n\nlibgrpc.so\n\n     VM SIZE        FILE SIZE\n ++++++++++++++  ++++++++++++++\n\n  [ = ]       0        0  [ = ]\n\n\n****************************************************************\n\nlibgrpc++.so\n\n     VM SIZE                                                                                            FILE SIZE\n ++++++++++++++ GROWING                                                                              ++++++++++++++\n  +0.1%    +332 [None]                                                                               +12.3Ki  +0.2%\n  +2.7%    +331 src/cpp/server/server_context.cc                                                        +331  +2.7%\n      [NEW]    +996 grpc::ServerContext::BeginCompletionOp                                                  +996  [NEW]\n      [NEW]    +200 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >    +200  [NEW]\n      +7.2%     +92 grpc::ServerContext::CompletionOp::FinalizeResult                                        +92  +7.2%\n       +12%     +80 grpc::ServerContext::Clear                                                               +80   +12%\n       +11%     +16 [Unmapped]                                                                               +16   +11%\n       +11%     +13 grpc::internal::CallbackWithSuccessTag::~CallbackWithSuccessTag                          +13   +11%\n      +1.8%      +8 grpc::ServerContext::CompletionOp::Unref                                                  +8  +1.8%\n      +2.1%      +4 grpc::internal::CallbackWithSuccessTag::StaticRun                                         +4  +2.1%\n      [NEW]      +2 grpc::internal::ServerReactor::OnCancel                                                   +2  [NEW]\n\n -------------- SHRINKING                                                                            --------------\n  -0.5%    -263 src/cpp/server/server_cc.cc                                                             -263  -0.5%\n     -28.6%    -452 grpc::Server::UnimplementedAsyncResponse::UnimplementedAsyncResponse                    -452 -28.6%\n      -7.4%     -99 grpc::Server::~Server                                                                    -99  -7.4%\n      -4.7%     -32 grpc::Server::CallbackRequest::CallbackCallTag::ContinueRunAfterInterception             -32  -4.7%\n      -2.2%     -15 [Unmapped]                                                                               -15  -2.2%\n\n  +0.1%    +400 TOTAL                                                                                +12.4Ki  +0.2%\n\n\n\n```"}}
{"actor":{"display_login":"grpc-testing"}}