{"action":"created","issue":{"url":"https://api.github.com/repos/grpc/grpc/issues/14400","repository_url":"https://api.github.com/repos/grpc/grpc","labels_url":"https://api.github.com/repos/grpc/grpc/issues/14400/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc/issues/14400/comments","events_url":"https://api.github.com/repos/grpc/grpc/issues/14400/events","html_url":"https://github.com/grpc/grpc/pull/14400","id":296140230,"number":14400,"title":"Add ALTS C stack to gRPC core","user":{"login":"yihuazhang","id":26934891,"avatar_url":"https://avatars2.githubusercontent.com/u/26934891?v=4","gravatar_id":"","url":"https://api.github.com/users/yihuazhang","html_url":"https://github.com/yihuazhang","followers_url":"https://api.github.com/users/yihuazhang/followers","following_url":"https://api.github.com/users/yihuazhang/following{/other_user}","gists_url":"https://api.github.com/users/yihuazhang/gists{/gist_id}","starred_url":"https://api.github.com/users/yihuazhang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yihuazhang/subscriptions","organizations_url":"https://api.github.com/users/yihuazhang/orgs","repos_url":"https://api.github.com/users/yihuazhang/repos","events_url":"https://api.github.com/users/yihuazhang/events{/privacy}","received_events_url":"https://api.github.com/users/yihuazhang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"AspirinSJL","id":3314176,"avatar_url":"https://avatars0.githubusercontent.com/u/3314176?v=4","gravatar_id":"","url":"https://api.github.com/users/AspirinSJL","html_url":"https://github.com/AspirinSJL","followers_url":"https://api.github.com/users/AspirinSJL/followers","following_url":"https://api.github.com/users/AspirinSJL/following{/other_user}","gists_url":"https://api.github.com/users/AspirinSJL/gists{/gist_id}","starred_url":"https://api.github.com/users/AspirinSJL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AspirinSJL/subscriptions","organizations_url":"https://api.github.com/users/AspirinSJL/orgs","repos_url":"https://api.github.com/users/AspirinSJL/repos","events_url":"https://api.github.com/users/AspirinSJL/events{/privacy}","received_events_url":"https://api.github.com/users/AspirinSJL/received_events","type":"User","site_admin":false},"assignees":[{"login":"AspirinSJL","id":3314176,"avatar_url":"https://avatars0.githubusercontent.com/u/3314176?v=4","gravatar_id":"","url":"https://api.github.com/users/AspirinSJL","html_url":"https://github.com/AspirinSJL","followers_url":"https://api.github.com/users/AspirinSJL/followers","following_url":"https://api.github.com/users/AspirinSJL/following{/other_user}","gists_url":"https://api.github.com/users/AspirinSJL/gists{/gist_id}","starred_url":"https://api.github.com/users/AspirinSJL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AspirinSJL/subscriptions","organizations_url":"https://api.github.com/users/AspirinSJL/orgs","repos_url":"https://api.github.com/users/AspirinSJL/repos","events_url":"https://api.github.com/users/AspirinSJL/events{/privacy}","received_events_url":"https://api.github.com/users/AspirinSJL/received_events","type":"User","site_admin":false},{"login":"markdroth","id":18664614,"avatar_url":"https://avatars2.githubusercontent.com/u/18664614?v=4","gravatar_id":"","url":"https://api.github.com/users/markdroth","html_url":"https://github.com/markdroth","followers_url":"https://api.github.com/users/markdroth/followers","following_url":"https://api.github.com/users/markdroth/following{/other_user}","gists_url":"https://api.github.com/users/markdroth/gists{/gist_id}","starred_url":"https://api.github.com/users/markdroth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markdroth/subscriptions","organizations_url":"https://api.github.com/users/markdroth/orgs","repos_url":"https://api.github.com/users/markdroth/repos","events_url":"https://api.github.com/users/markdroth/events{/privacy}","received_events_url":"https://api.github.com/users/markdroth/received_events","type":"User","site_admin":false}],"milestone":null,"comments":71,"created_at":"2018-02-10T22:30:24Z","updated_at":"2018-02-23T20:25:14Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/grpc/grpc/pulls/14400","html_url":"https://github.com/grpc/grpc/pull/14400","diff_url":"https://github.com/grpc/grpc/pull/14400.diff","patch_url":"https://github.com/grpc/grpc/pull/14400.patch"},"body":"\n\n<!-- Reviewable:start -->\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/grpc/grpc/14400)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/grpc/grpc/issues/comments/368128903","html_url":"https://github.com/grpc/grpc/pull/14400#issuecomment-368128903","issue_url":"https://api.github.com/repos/grpc/grpc/issues/14400","id":368128903,"user":{"login":"grpc-testing","id":28024233,"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-02-23T20:25:14Z","updated_at":"2018-02-23T20:25:14Z","author_association":"NONE","body":"```\n****************************************************************\n\nlibgrpc.so\n\n     VM SIZE                                                                                            FILE SIZE\n ++++++++++++++ GROWING                                                                              ++++++++++++++\n  +8.1% +48.3Ki [None]                                                                                +460Ki  +7.2%\n      +8.7% +46.5Ki [Unmapped]                                                                            +458Ki  +7.2%\n       +80%    +303 [Other]                                                                                 +295   +78%\n      [NEW]    +190 grpc_gcp_StartClientHandshakeReq_fields                                                 +190  [NEW]\n       +17%    +176 vtable                                                                                  +176   +17%\n      [NEW]    +152 grpc_gcp_HandshakerResult_fields                                                        +152  [NEW]\n      [NEW]    +133 grpc_gcp_StartServerHandshakeReq_fields                                                 +133  [NEW]\n      [NEW]     +95 grpc_gcp_HandshakerResp_fields                                                           +95  [NEW]\n      [NEW]     +76 grpc_gcp_Endpoint_fields                                                                 +76  [NEW]\n      [NEW]     +76 grpc_gcp_HandshakerReq_fields                                                            +76  [NEW]\n      [NEW]     +57 grpc_gcp_HandshakerStatus_fields                                                         +57  [NEW]\n      [NEW]     +57 grpc_gcp_Identity_fields                                                                 +57  [NEW]\n      [NEW]     +57 grpc_gcp_RpcProtocolVersions_Version_fields                                              +57  [NEW]\n      [NEW]     +57 grpc_gcp_RpcProtocolVersions_fields                                                      +57  [NEW]\n      [NEW]     +57 grpc_gcp_ServerHandshakeParameters_fields                                                +57  [NEW]\n      [NEW]     +57 grpc_gcp_StartServerHandshakeReq_HandshakeParametersEntry_fields                         +57  [NEW]\n      [NEW]     +56 CSWTCH.1                                                                                 +56  [NEW]\n       +33%     +56 handshaker_vtable                                                                        +56   +33%\n      +100%     +40 result_vtable                                                                            +40  +100%\n      [NEW]     +38 grpc_gcp_NextHandshakeMessageReq_fields                                                  +38  [NEW]\n       +36%     +35 grpc_lb_v1_ClientStats_fields                                                            +35   +36%\n      [NEW]     +32 alts_frame_protector_vtable                                                              +32  [NEW]\n  [NEW] +4.99Ki src/core/tsi/alts/crypt/aes_gcm.cc                                                   +4.99Ki  [NEW]\n      [NEW] +1.74Ki gsec_aes_gcm_aead_crypter_decrypt_iovec                                              +1.74Ki  [NEW]\n      [NEW] +1.29Ki gsec_aes_gcm_aead_crypter_encrypt_iovec                                              +1.29Ki  [NEW]\n      [NEW]    +760 gsec_aes_gcm_aead_crypter_create                                                        +760  [NEW]\n      [NEW]    +378 aes_gcm_format_errors                                                                   +378  [NEW]\n      [NEW]    +253 aes_gcm_derive_aead_key                                                                 +253  [NEW]\n      [NEW]    +233 aes_gcm_rekey_if_required                                                               +233  [NEW]\n      [NEW]     +89 gsec_aes_gcm_aead_crypter_max_plaintext_length                                           +89  [NEW]\n      [NEW]     +65 [Unmapped]                                                                               +65  [NEW]\n      [NEW]     +45 gsec_aes_gcm_aead_crypter_key_length                                                     +45  [NEW]\n      [NEW]     +45 gsec_aes_gcm_aead_crypter_tag_length                                                     +45  [NEW]\n      [NEW]     +45 gsec_aes_gcm_aead_crypter_nonce_length                                                   +45  [NEW]\n      [NEW]     +45 gsec_aes_gcm_aead_crypter_max_ciphertext_and_tag_length                                  +45  [NEW]\n      [NEW]     +32 gsec_aes_gcm_aead_crypter_destroy                                                        +32  [NEW]\n      [NEW]     +19 aes_gcm_mask_nonce                                                                       +19  [NEW]\n  [NEW] +4.18Ki src/core/tsi/alts/handshaker/alts_handshaker_service_api.cc                          +4.18Ki  [NEW]\n      [NEW]    +414 grpc_gcp_handshaker_req_encode                                                          +414  [NEW]\n      [NEW]    +386 grpc_gcp_handshaker_req_destroy                                                         +386  [NEW]\n      [NEW]    +351 grpc_gcp_handshaker_req_param_add_local_identity_hostname                               +351  [NEW]\n      [NEW]    +351 grpc_gcp_handshaker_req_param_add_local_identity_service_account                        +351  [NEW]\n      [NEW]    +300 grpc_gcp_handshaker_req_param_add_record_protocol                                       +300  [NEW]\n      [NEW]    +276 grpc_gcp_handshaker_resp_decode                                                         +276  [NEW]\n      [NEW]    +198 grpc_gcp_handshaker_req_set_rpc_versions                                                +198  [NEW]\n      [NEW]    +188 grpc_gcp_handshaker_req_add_application_protocol                                        +188  [NEW]\n      [NEW]    +176 [Unmapped]                                                                              +176  [NEW]\n      [NEW]    +163 grpc_gcp_handshaker_req_add_target_identity_hostname                                    +163  [NEW]\n      [NEW]    +163 grpc_gcp_handshaker_req_add_target_identity_service_account                             +163  [NEW]\n      [NEW]    +162 grpc_gcp_handshaker_resp_destroy                                                        +162  [NEW]\n      [NEW]    +161 grpc_gcp_handshaker_req_set_remote_endpoint                                             +161  [NEW]\n      [NEW]    +155 grpc_gcp_handshaker_req_set_local_endpoint                                              +155  [NEW]\n      [NEW]    +143 grpc_gcp_handshaker_req_set_in_bytes                                                    +143  [NEW]\n      [NEW]    +133 [Other]                                                                                 +133  [NEW]\n      [NEW]    +121 grpc_gcp_handshaker_req_add_record_protocol                                             +121  [NEW]\n      [NEW]    +119 grpc_gcp_handshaker_req_set_target_name                                                 +119  [NEW]\n      [NEW]    +117 grpc_gcp_handshaker_req_set_local_identity_hostname                                     +117  [NEW]\n      [NEW]    +117 grpc_gcp_handshaker_req_set_local_identity_service_account                              +117  [NEW]\n      [NEW]     +82 set_endpoint                                                                             +82  [NEW]\n  [NEW] +4.04Ki src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc                                  +4.04Ki  [NEW]\n      [NEW] +1.21Ki alts_tsi_handshaker_handle_response                                                  +1.21Ki  [NEW]\n      [NEW]    +566 handshaker_next                                                                         +566  [NEW]\n      [NEW]    +555 alts_tsi_handshaker_create                                                              +555  [NEW]\n      [NEW]    +550 handshaker_result_extract_peer                                                          +550  [NEW]\n      [NEW]    +163 grpc_core::internal::alts_tsi_handshaker_set_recv_bytes_for_testing                     +163  [NEW]\n      [NEW]    +133 handshaker_result_create_zero_copy_grpc_protector                                       +133  [NEW]\n      [NEW]    +128 thread_worker                                                                           +128  [NEW]\n      [NEW]    +128 handshaker_result_create_frame_protector                                                +128  [NEW]\n      [NEW]    +102 [Unmapped]                                                                              +102  [NEW]\n      [NEW]     +98 handshaker_destroy                                                                       +98  [NEW]\n      [NEW]     +93 handshaker_result_get_unused_bytes                                                       +93  [NEW]\n      [NEW]     +87 grpc_core::internal::alts_tsi_handshaker_get_recv_bytes_for_testing                      +87  [NEW]\n      [NEW]     +85 grpc_core::internal::alts_tsi_handshaker_set_client_for_testing                          +85  [NEW]\n      [NEW]     +74 handshaker_result_destroy                                                                +74  [NEW]\n      [NEW]     +57 grpc_core::internal::alts_tsi_handshaker_get_is_client_for_testing                       +57  [NEW]\n      [NEW]     +57 grpc_core::internal::alts_tsi_handshaker_get_has_sent_start_message_for_testing          +57  [NEW]\n      [NEW]     +21 _GLOBAL__sub_I_alts_tsi_handshaker.cc                                                    +21  [NEW]\n  [NEW] +3.35Ki src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc            +3.35Ki  [NEW]\n      [NEW]    +687 alts_iovec_record_protocol_privacy_integrity_unprotect                                  +687  [NEW]\n      [NEW]    +643 alts_iovec_record_protocol_privacy_integrity_protect                                    +643  [NEW]\n      [NEW]    +550 alts_iovec_record_protocol_integrity_only_protect                                       +550  [NEW]\n      [NEW]    +457 alts_iovec_record_protocol_integrity_only_unprotect                                     +457  [NEW]\n      [NEW]    +304 alts_iovec_record_protocol_create                                                       +304  [NEW]\n      [NEW]    +195 ensure_header_and_tag_length                                                            +195  [NEW]\n      [NEW]    +124 verify_frame_header                                                                     +124  [NEW]\n      [NEW]    +123 increment_counter                                                                       +123  [NEW]\n      [NEW]    +103 [Unmapped]                                                                              +103  [NEW]\n      [NEW]     +88 maybe_append_error_msg(char const*, char**) [clone .part.4]                              +88  [NEW]\n      [NEW]     +58 maybe_copy_error_msg(char const*, char**) [clone .part.0]                                +58  [NEW]\n      [NEW]     +42 alts_iovec_record_protocol_destroy                                                       +42  [NEW]\n      [NEW]     +35 alts_iovec_record_protocol_max_unprotected_data_size                                     +35  [NEW]\n      [NEW]     +19 alts_iovec_record_protocol_get_tag_length                                                +19  [NEW]\n      [NEW]      +6 alts_iovec_record_protocol_get_header_length                                              +6  [NEW]\n   +84% +2.70Ki [Other]                                                                              +2.70Ki   +84%\n  [NEW] +2.65Ki src/core/tsi/alts/handshaker/alts_handshaker_client.cc                               +2.65Ki  [NEW]\n      [NEW]    +567 handshaker_client_start_client                                                          +567  [NEW]\n      [NEW]    +498 handshaker_client_start_server                                                          +498  [NEW]\n      [NEW]    +479 make_grpc_call                                                                          +479  [NEW]\n      [NEW]    +418 handshaker_client_next                                                                  +418  [NEW]\n      [NEW]    +312 alts_grpc_handshaker_client_create                                                      +312  [NEW]\n      [NEW]     +79 [Unmapped]                                                                               +79  [NEW]\n      [NEW]     +77 alts_handshaker_client_next                                                              +77  [NEW]\n      [NEW]     +77 alts_handshaker_client_start_client                                                      +77  [NEW]\n      [NEW]     +77 alts_handshaker_client_start_server                                                      +77  [NEW]\n      [NEW]     +62 grpc_core::internal::alts_handshaker_client_set_grpc_caller_for_testing                  +62  [NEW]\n      [NEW]     +42 alts_handshaker_client_destroy                                                           +42  [NEW]\n      [NEW]     +18 handshaker_client_destruct                                                               +18  [NEW]\n      [NEW]      +8 grpc_start_batch                                                                          +8  [NEW]\n  [NEW] +2.39Ki src/core/tsi/alts/frame_protector/alts_frame_protector.cc                            +2.39Ki  [NEW]\n      [NEW]    +895 alts_unprotect                                                                          +895  [NEW]\n      [NEW]    +604 alts_create_frame_protector                                                             +604  [NEW]\n      [NEW]    +509 alts_protect_flush                                                                      +509  [NEW]\n      [NEW]    +326 alts_protect                                                                            +326  [NEW]\n      [NEW]     +82 alts_destroy                                                                             +82  [NEW]\n      [NEW]     +28 [Unmapped]                                                                               +28  [NEW]\n  [NEW] +2.07Ki src/core/lib/security/security_connector/alts_security_connector.cc                  +2.07Ki  [NEW]\n      [NEW]    +798 grpc_core::internal::grpc_alts_auth_context_from_tsi_peer                               +798  [NEW]\n      [NEW]    +237 grpc_alts_channel_security_connector_create                                             +237  [NEW]\n      [NEW]    +191 alts_check_peer                                                                         +191  [NEW]\n      [NEW]    +163 alts_channel_add_handshakers                                                            +163  [NEW]\n      [NEW]    +158 alts_server_add_handshakers                                                             +158  [NEW]\n      [NEW]    +153 grpc_alts_server_security_connector_create                                              +153  [NEW]\n      [NEW]    +144 alts_check_call_host                                                                    +144  [NEW]\n      [NEW]     +87 [Unmapped]                                                                               +87  [NEW]\n      [NEW]     +55 alts_channel_cmp                                                                         +55  [NEW]\n      [NEW]     +50 alts_channel_destroy                                                                     +50  [NEW]\n      [NEW]     +38 alts_set_rpc_protocol_versions                                                           +38  [NEW]\n      [NEW]     +34 alts_server_destroy                                                                      +34  [NEW]\n      [NEW]      +8 alts_cancel_check_call_host                                                               +8  [NEW]\n      [NEW]      +5 alts_server_cmp                                                                           +5  [NEW]\n  [NEW] +1.59Ki src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc         +1.59Ki  [NEW]\n      [NEW]    +618 alts_zero_copy_grpc_protector_unprotect                                                 +618  [NEW]\n      [NEW]    +477 alts_zero_copy_grpc_protector_create                                                    +477  [NEW]\n      [NEW]    +266 create_alts_grpc_record_protocol(unsigned char const*, unsigned long, bool, bool, bo    +266  [NEW]\n      [NEW]    +167 alts_zero_copy_grpc_protector_protect                                                   +167  [NEW]\n      [NEW]     +74 alts_zero_copy_grpc_protector_destroy                                                    +74  [NEW]\n      [NEW]     +27 [Unmapped]                                                                               +27  [NEW]\n  [NEW] +1.42Ki src/core/tsi/alts/handshaker/transport_security_common_api.cc                        +1.42Ki  [NEW]\n      [NEW]    +233 grpc_gcp_rpc_protocol_versions_encode                                                   +233  [NEW]\n      [NEW]    +230 grpc_gcp_rpc_protocol_versions_encode_length                                            +230  [NEW]\n      [NEW]    +212 grpc_gcp_rpc_protocol_versions_decode                                                   +212  [NEW]\n      [NEW]    +202 grpc_gcp_rpc_protocol_versions_check                                                    +202  [NEW]\n      [NEW]    +199 grpc_gcp_rpc_protocol_versions_encode_to_raw_bytes                                      +199  [NEW]\n      [NEW]    +122 grpc_gcp_rpc_protocol_versions_copy                                                     +122  [NEW]\n      [NEW]     +74 grpc_gcp_rpc_protocol_versions_set_max                                                   +74  [NEW]\n      [NEW]     +74 grpc_gcp_rpc_protocol_versions_set_min                                                   +74  [NEW]\n      [NEW]     +62 [Unmapped]                                                                               +62  [NEW]\n      [NEW]     +42 grpc_gcp_rpc_protocol_version_compare                                                    +42  [NEW]\n  [NEW] +1.41Ki src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol +1.41Ki  [NEW]\n      [NEW]    +680 alts_grpc_integrity_only_unprotect                                                      +680  [NEW]\n      [NEW]    +472 alts_grpc_integrity_only_protect                                                        +472  [NEW]\n      [NEW]    +227 alts_grpc_integrity_only_record_protocol_create                                         +227  [NEW]\n      [NEW]     +42 alts_grpc_integrity_only_destruct                                                        +42  [NEW]\n      [NEW]     +22 [Unmapped]                                                                               +22  [NEW]\n  [NEW] +1.16Ki src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc      +1.16Ki  [NEW]\n      [NEW]    +308 alts_grpc_record_protocol_init                                                          +308  [NEW]\n      [NEW]    +226 alts_grpc_record_protocol_convert_slice_buffer_to_iovec                                 +226  [NEW]\n      [NEW]    +144 alts_grpc_record_protocol_copy_slice_buffer                                             +144  [NEW]\n      [NEW]    +114 alts_grpc_record_protocol_protect                                                       +114  [NEW]\n      [NEW]    +114 alts_grpc_record_protocol_unprotect                                                     +114  [NEW]\n      [NEW]    +110 alts_grpc_record_protocol_get_header_iovec                                              +110  [NEW]\n      [NEW]     +82 alts_grpc_record_protocol_destroy                                                        +82  [NEW]\n      [NEW]     +70 [Unmapped]                                                                               +70  [NEW]\n      [NEW]     +19 alts_grpc_record_protocol_max_unprotected_data_size                                      +19  [NEW]\n  [NEW] +1.11Ki src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_proto +1.11Ki  [NEW]\n      [NEW]    +524 alts_grpc_privacy_integrity_unprotect                                                   +524  [NEW]\n      [NEW]    +404 alts_grpc_privacy_integrity_protect                                                     +404  [NEW]\n      [NEW]    +195 alts_grpc_privacy_integrity_record_protocol_create                                      +195  [NEW]\n      [NEW]     +16 [Unmapped]                                                                               +16  [NEW]\n  [NEW] +1.10Ki src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.cc                     +1.10Ki  [NEW]\n      [NEW]    +170 decode_repeated_string_cb                                                               +170  [NEW]\n      [NEW]    +151 decode_string_or_bytes_cb                                                               +151  [NEW]\n      [NEW]    +122 encode_repeated_string_cb                                                               +122  [NEW]\n      [NEW]    +107 create_slice                                                                            +107  [NEW]\n      [NEW]    +100 [Unmapped]                                                                              +100  [NEW]\n      [NEW]     +90 encode_repeated_identity_cb                                                              +90  [NEW]\n      [NEW]     +82 encode_string_or_bytes_cb                                                                +82  [NEW]\n      [NEW]     +71 destroy_repeated_field_list_identity                                                     +71  [NEW]\n      [NEW]     +70 decode_repeated_identity_cb                                                              +70  [NEW]\n      [NEW]     +65 add_repeated_field                                                                       +65  [NEW]\n      [NEW]     +52 destroy_repeated_field_list_string                                                       +52  [NEW]\n      [NEW]     +50 destroy_slice                                                                            +50  [NEW]\n  [NEW] +1.09Ki src/core/tsi/alts/crypt/gsec.cc                                                      +1.09Ki  [NEW]\n      [NEW]    +193 gsec_aead_crypter_decrypt                                                               +193  [NEW]\n      [NEW]    +193 gsec_aead_crypter_encrypt                                                               +193  [NEW]\n      [NEW]    +127 maybe_copy_error_msg(char const*, char**) [clone .part.0] [clone .constprop.1]          +127  [NEW]\n      [NEW]    +105 [Unmapped]                                                                              +105  [NEW]\n      [NEW]     +70 gsec_aead_crypter_key_length                                                             +70  [NEW]\n      [NEW]     +70 gsec_aead_crypter_tag_length                                                             +70  [NEW]\n      [NEW]     +70 gsec_aead_crypter_nonce_length                                                           +70  [NEW]\n      [NEW]     +70 gsec_aead_crypter_max_plaintext_length                                                   +70  [NEW]\n      [NEW]     +70 gsec_aead_crypter_max_ciphertext_and_tag_length                                          +70  [NEW]\n      [NEW]     +52 gsec_aead_crypter_decrypt_iovec                                                          +52  [NEW]\n      [NEW]     +52 gsec_aead_crypter_encrypt_iovec                                                          +52  [NEW]\n      [NEW]     +42 gsec_aead_crypter_destroy                                                                +42  [NEW]\n  [NEW] +1.08Ki src/core/tsi/alts/frame_protector/frame_handler.cc                                   +1.08Ki  [NEW]\n      [NEW]    +392 alts_read_frame_bytes                                                                   +392  [NEW]\n      [NEW]    +217 alts_write_frame_bytes                                                                  +217  [NEW]\n      [NEW]    +155 alts_reset_frame_writer                                                                 +155  [NEW]\n      [NEW]    +125 [Unmapped]                                                                              +125  [NEW]\n      [NEW]     +51 alts_reset_frame_reader                                                                  +51  [NEW]\n      [NEW]     +46 alts_is_frame_reader_done                                                                +46  [NEW]\n      [NEW]     +30 alts_is_frame_writer_done                                                                +30  [NEW]\n      [NEW]     +24 alts_get_reader_bytes_remaining                                                          +24  [NEW]\n      [NEW]     +17 alts_get_num_writer_bytes_remaining                                                      +17  [NEW]\n      [NEW]     +10 alts_create_frame_reader                                                                 +10  [NEW]\n      [NEW]     +10 alts_create_frame_writer                                                                 +10  [NEW]\n      [NEW]      +9 alts_has_read_frame_length                                                                +9  [NEW]\n      [NEW]      +5 alts_destroy_frame_reader                                                                 +5  [NEW]\n      [NEW]      +5 alts_destroy_frame_writer                                                                 +5  [NEW]\n      [NEW]      +5 alts_get_output_bytes_read                                                                +5  [NEW]\n      [NEW]      +4 alts_get_output_buffer                                                                    +4  [NEW]\n      [NEW]      +4 alts_reset_reader_output_buffer                                                           +4  [NEW]\n  [NEW]    +978 src/core/tsi/alts/frame_protector/alts_counter.cc                                       +978  [NEW]\n      [NEW]    +392 alts_counter_create                                                                     +392  [NEW]\n      [NEW]    +296 alts_counter_increment                                                                  +296  [NEW]\n      [NEW]    +162 maybe_copy_error_msg(char const*, char**) [clone .part.0]                               +162  [NEW]\n      [NEW]     +56 [Unmapped]                                                                               +56  [NEW]\n      [NEW]     +34 alts_counter_destroy                                                                     +34  [NEW]\n      [NEW]     +19 alts_counter_get_size                                                                    +19  [NEW]\n      [NEW]     +19 alts_counter_get_counter                                                                 +19  [NEW]\n  [NEW]    +940 src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc                +940  [NEW]\n      [NEW]    +290 increment_counter                                                                       +290  [NEW]\n      [NEW]    +236 alts_crypter_create_common                                                              +236  [NEW]\n      [NEW]    +166 input_sanity_check                                                                      +166  [NEW]\n      [NEW]    +103 alts_record_protocol_crypter_num_overhead_bytes                                         +103  [NEW]\n      [NEW]     +58 maybe_copy_error_msg(char const*, char**) [clone .part.0]                                +58  [NEW]\n      [NEW]     +53 [Unmapped]                                                                               +53  [NEW]\n      [NEW]     +34 alts_record_protocol_crypter_destruct                                                    +34  [NEW]\n  [NEW]    +801 src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc                +801  [NEW]\n      [NEW]    +462 alts_seal_crypter_process_in_place                                                      +462  [NEW]\n      [NEW]    +162 maybe_copy_error_msg(char const*, char**) [clone .part.0]                               +162  [NEW]\n      [NEW]    +161 alts_seal_crypter_create                                                                +161  [NEW]\n      [NEW]     +16 [Unmapped]                                                                               +16  [NEW]\n  [NEW]    +673 src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc              +673  [NEW]\n      [NEW]    +334 alts_unseal_crypter_process_in_place                                                    +334  [NEW]\n      [NEW]    +162 maybe_copy_error_msg(char const*, char**) [clone .part.0]                               +162  [NEW]\n      [NEW]    +161 alts_unseal_crypter_create                                                              +161  [NEW]\n      [NEW]     +16 [Unmapped]                                                                               +16  [NEW]\n\n -------------- SHRINKING                                                                            --------------\n  -5.1%    -304 third_party/nanopb/pb_decode.c                                                          -304  -5.1%\n     -36.3%    -207 pb_field_set_to_default                                                                 -207 -36.3%\n     -11.0%    -133 decode_field                                                                            -133 -11.0%\n\n  +7.3% +87.6Ki TOTAL                                                                                 +499Ki  +7.1%\n\n\n****************************************************************\n\nlibgrpc++.so\n\n     VM SIZE                                                     FILE SIZE\n ++++++++++++++ GROWING                                       ++++++++++++++\n  +0.0%     +64 [None]                                             +8  +0.0%\n       +36%     +10 grpc_health_v1_HealthCheckRequest_fields          +10   +36%\n       +36%     +10 grpc_health_v1_HealthCheckResponse_fields         +10   +36%\n\n  +0.0%     +64 TOTAL                                              +8  +0.0%\n\n\n\n```"}}
{"actor":{"display_login":"grpc-testing"}}