grpc 0.12.0 → 0.13.0.pre1.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +5707 -22222
- data/include/grpc/byte_buffer.h +2 -83
- data/include/grpc/census.h +191 -121
- data/include/grpc/compression.h +14 -38
- data/include/grpc/grpc.h +88 -434
- data/include/grpc/grpc_security.h +76 -46
- data/include/grpc/grpc_zookeeper.h +1 -1
- data/include/grpc/impl/codegen/alloc.h +74 -0
- data/include/grpc/impl/codegen/atm.h +92 -0
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +72 -0
- data/include/grpc/impl/codegen/atm_gcc_sync.h +87 -0
- data/include/grpc/impl/codegen/atm_win32.h +125 -0
- data/include/grpc/impl/codegen/byte_buffer.h +121 -0
- data/include/grpc/impl/codegen/compression_types.h +73 -0
- data/include/grpc/impl/codegen/connectivity_state.h +59 -0
- data/include/grpc/impl/codegen/grpc_types.h +373 -0
- data/include/grpc/impl/codegen/log.h +110 -0
- data/include/grpc/impl/codegen/port_platform.h +362 -0
- data/include/grpc/impl/codegen/propagation_bits.h +67 -0
- data/include/grpc/impl/codegen/slice.h +182 -0
- data/include/grpc/impl/codegen/slice_buffer.h +105 -0
- data/include/grpc/impl/codegen/status.h +163 -0
- data/include/grpc/impl/codegen/sync.h +316 -0
- data/include/grpc/impl/codegen/sync_generic.h +55 -0
- data/{src/core/census/context.h → include/grpc/impl/codegen/sync_posix.h} +11 -11
- data/include/grpc/impl/codegen/sync_win32.h +49 -0
- data/include/grpc/impl/codegen/time.h +132 -0
- data/include/grpc/status.h +2 -126
- data/include/grpc/support/alloc.h +2 -35
- data/include/grpc/support/atm.h +2 -55
- data/include/grpc/support/atm_gcc_atomic.h +5 -38
- data/include/grpc/support/atm_gcc_sync.h +2 -50
- data/include/grpc/support/atm_win32.h +2 -88
- data/include/grpc/support/avl.h +7 -7
- data/include/grpc/support/cmdline.h +15 -13
- data/include/grpc/support/cpu.h +5 -3
- data/include/grpc/support/histogram.h +23 -20
- data/include/grpc/support/host_port.h +5 -3
- data/include/grpc/support/log.h +2 -71
- data/include/grpc/support/log_win32.h +2 -2
- data/include/grpc/support/port_platform.h +2 -319
- data/include/grpc/support/slice.h +2 -145
- data/include/grpc/support/slice_buffer.h +2 -65
- data/include/grpc/support/string_util.h +3 -3
- data/include/grpc/support/subprocess.h +8 -6
- data/include/grpc/support/sync.h +2 -278
- data/include/grpc/support/sync_generic.h +2 -18
- data/include/grpc/support/sync_posix.h +2 -10
- data/include/grpc/support/sync_win32.h +2 -12
- data/include/grpc/support/thd.h +11 -11
- data/include/grpc/support/time.h +2 -91
- data/include/grpc/support/tls.h +1 -1
- data/include/grpc/support/tls_gcc.h +1 -1
- data/include/grpc/support/tls_msvc.h +1 -1
- data/include/grpc/support/tls_pthread.h +2 -2
- data/src/boringssl/err_data.c +1252 -0
- data/src/core/census/context.c +492 -8
- data/src/core/census/grpc_filter.c +3 -3
- data/src/core/census/initialize.c +4 -7
- data/src/core/census/operation.c +2 -2
- data/src/core/census/placeholders.c +109 -0
- data/src/core/census/rpc_metric_id.h +6 -6
- data/src/core/census/tracing.c +1 -1
- data/src/core/channel/channel_args.c +4 -3
- data/src/core/channel/channel_stack.c +1 -1
- data/src/core/channel/client_channel.c +18 -14
- data/src/core/channel/client_uchannel.c +3 -3
- data/src/core/channel/compress_filter.c +8 -8
- data/src/core/channel/http_client_filter.c +2 -2
- data/src/core/channel/http_server_filter.c +9 -9
- data/src/core/channel/subchannel_call_holder.c +12 -10
- data/src/core/client_config/lb_policies/pick_first.c +49 -31
- data/src/core/client_config/lb_policies/round_robin.c +7 -7
- data/src/core/client_config/resolvers/dns_resolver.c +3 -3
- data/src/core/client_config/resolvers/sockaddr_resolver.c +5 -5
- data/src/core/client_config/subchannel.c +36 -25
- data/src/core/compression/algorithm.c +3 -3
- data/src/core/httpcli/format_request.c +1 -1
- data/src/core/httpcli/httpcli.c +5 -5
- data/src/core/httpcli/httpcli_security_connector.c +2 -3
- data/src/core/httpcli/parser.c +7 -7
- data/src/core/httpcli/parser.h +1 -1
- data/src/core/iomgr/closure.c +7 -7
- data/src/core/iomgr/closure.h +6 -5
- data/src/core/iomgr/exec_ctx.c +12 -8
- data/src/core/iomgr/exec_ctx.h +12 -5
- data/src/core/iomgr/executor.c +4 -4
- data/src/core/iomgr/executor.h +2 -2
- data/src/core/iomgr/fd_posix.c +28 -17
- data/src/core/iomgr/fd_posix.h +7 -4
- data/src/core/iomgr/iocp_windows.c +6 -8
- data/src/core/iomgr/pollset_multipoller_with_epoll.c +70 -5
- data/src/core/iomgr/pollset_multipoller_with_poll_posix.c +4 -2
- data/src/core/iomgr/pollset_posix.c +15 -15
- data/src/core/iomgr/pollset_posix.h +4 -2
- data/src/core/iomgr/pollset_windows.c +3 -12
- data/src/core/iomgr/resolve_address_posix.c +2 -2
- data/src/core/iomgr/resolve_address_windows.c +2 -2
- data/src/core/iomgr/sockaddr_utils.c +6 -6
- data/src/core/iomgr/sockaddr_win32.h +1 -6
- data/src/core/iomgr/tcp_client_posix.c +7 -7
- data/src/core/iomgr/tcp_client_windows.c +4 -4
- data/src/core/iomgr/tcp_posix.c +14 -8
- data/src/core/iomgr/tcp_posix.h +7 -1
- data/src/core/iomgr/tcp_server.h +40 -20
- data/src/core/iomgr/tcp_server_posix.c +106 -49
- data/src/core/iomgr/tcp_server_windows.c +98 -49
- data/src/core/iomgr/tcp_windows.c +11 -15
- data/src/core/iomgr/timer.c +8 -8
- data/src/core/iomgr/timer.h +1 -1
- data/src/core/iomgr/timer_heap.c +10 -10
- data/src/core/iomgr/timer_heap.h +2 -2
- data/src/core/iomgr/udp_server.c +2 -12
- data/src/core/iomgr/udp_server.h +1 -9
- data/src/core/iomgr/workqueue.h +2 -4
- data/src/core/iomgr/workqueue_posix.c +3 -3
- data/src/core/json/json_reader.c +11 -12
- data/src/core/json/json_reader.h +4 -4
- data/src/core/json/json_string.c +19 -19
- data/src/core/json/json_writer.c +7 -9
- data/src/core/profiling/basic_timers.c +1 -1
- data/src/core/security/base64.c +9 -9
- data/src/core/security/client_auth_filter.c +4 -4
- data/src/core/security/credentials.c +5 -5
- data/src/core/security/google_default_credentials.c +3 -3
- data/src/core/security/handshake.c +6 -5
- data/src/core/security/json_token.c +13 -7
- data/src/core/security/jwt_verifier.c +3 -2
- data/src/core/security/secure_endpoint.c +16 -16
- data/src/core/security/security_connector.c +47 -17
- data/src/core/security/security_connector.h +5 -5
- data/src/core/security/server_auth_filter.c +3 -3
- data/src/core/security/server_secure_chttp2.c +30 -31
- data/src/core/statistics/census_interface.h +2 -2
- data/src/core/statistics/census_rpc_stats.h +3 -3
- data/src/core/support/alloc.c +1 -1
- data/src/core/support/cpu_posix.c +2 -2
- data/src/core/support/env_linux.c +12 -2
- data/src/core/support/env_win32.c +15 -7
- data/src/core/support/histogram.c +5 -5
- data/src/core/support/log_posix.c +1 -1
- data/src/core/support/log_win32.c +4 -3
- data/src/core/support/murmur_hash.c +11 -11
- data/src/core/support/murmur_hash.h +1 -1
- data/src/core/support/slice.c +11 -11
- data/src/core/support/slice_buffer.c +6 -6
- data/src/core/support/stack_lockfree.c +20 -10
- data/src/core/support/string.c +15 -15
- data/src/core/support/string.h +5 -5
- data/src/core/support/string_win32.c +5 -5
- data/src/core/support/subprocess_windows.c +141 -0
- data/src/core/support/sync.c +4 -4
- data/src/core/support/sync_posix.c +2 -2
- data/src/core/support/sync_win32.c +10 -5
- data/src/core/support/time.c +29 -29
- data/src/core/support/time_posix.c +15 -6
- data/src/core/support/time_precise.c +2 -2
- data/src/core/support/time_win32.c +18 -9
- data/src/core/support/tls_pthread.c +1 -1
- data/src/core/support/wrap_memcpy.c +53 -0
- data/src/core/surface/alarm.c +83 -0
- data/src/core/surface/byte_buffer_reader.c +1 -1
- data/src/core/surface/call.c +78 -69
- data/src/core/surface/call.h +2 -2
- data/src/core/surface/call_test_only.h +2 -2
- data/src/core/surface/channel.c +9 -9
- data/src/core/surface/channel.h +1 -1
- data/src/core/surface/channel_connectivity.c +3 -3
- data/src/core/surface/channel_create.c +3 -3
- data/src/core/surface/channel_ping.c +2 -2
- data/src/core/surface/completion_queue.c +11 -12
- data/src/core/surface/completion_queue.h +1 -1
- data/src/core/surface/init.c +7 -5
- data/src/core/surface/lame_client.c +3 -3
- data/src/core/surface/secure_channel_create.c +3 -3
- data/src/core/surface/server.c +28 -28
- data/src/core/surface/server_chttp2.c +8 -8
- data/src/core/surface/server_create.c +1 -4
- data/src/core/surface/validate_metadata.c +3 -3
- data/src/core/surface/version.c +2 -2
- data/src/core/transport/byte_stream.c +8 -6
- data/src/core/transport/byte_stream.h +6 -5
- data/src/core/transport/chttp2/bin_encoder.c +29 -29
- data/src/core/transport/chttp2/frame_data.c +29 -26
- data/src/core/transport/chttp2/frame_data.h +6 -6
- data/src/core/transport/chttp2/frame_goaway.c +30 -30
- data/src/core/transport/chttp2/frame_goaway.h +6 -6
- data/src/core/transport/chttp2/frame_ping.c +6 -6
- data/src/core/transport/chttp2/frame_ping.h +5 -5
- data/src/core/transport/chttp2/frame_rst_stream.c +18 -19
- data/src/core/transport/chttp2/frame_rst_stream.h +4 -4
- data/src/core/transport/chttp2/frame_settings.c +30 -30
- data/src/core/transport/chttp2/frame_settings.h +13 -13
- data/src/core/transport/chttp2/frame_window_update.c +17 -18
- data/src/core/transport/chttp2/frame_window_update.h +5 -7
- data/src/core/transport/chttp2/hpack_encoder.c +69 -73
- data/src/core/transport/chttp2/hpack_encoder.h +16 -16
- data/src/core/transport/chttp2/hpack_parser.c +167 -167
- data/src/core/transport/chttp2/hpack_parser.h +16 -16
- data/src/core/transport/chttp2/hpack_table.c +13 -13
- data/src/core/transport/chttp2/hpack_table.h +11 -11
- data/src/core/transport/chttp2/internal.h +97 -86
- data/src/core/transport/chttp2/parsing.c +25 -25
- data/src/core/transport/chttp2/stream_lists.c +26 -3
- data/src/core/transport/chttp2/stream_map.c +13 -14
- data/src/core/transport/chttp2/stream_map.h +6 -7
- data/src/core/transport/chttp2/timeout_encoding.c +19 -16
- data/src/core/transport/chttp2/varint.c +8 -9
- data/src/core/transport/chttp2/varint.h +7 -8
- data/src/core/transport/chttp2/writing.c +26 -23
- data/src/core/transport/chttp2_transport.c +133 -92
- data/src/core/transport/connectivity_state.c +6 -6
- data/src/core/transport/metadata.c +18 -18
- data/src/core/transport/metadata.h +5 -5
- data/src/core/transport/static_metadata.c +15 -16
- data/src/core/transport/static_metadata.h +5 -5
- data/src/core/transport/transport.c +5 -5
- data/src/core/transport/transport.h +14 -1
- data/src/core/tsi/fake_transport_security.c +7 -7
- data/src/core/tsi/ssl_transport_security.c +6 -4
- data/src/core/tsi/ssl_types.h +55 -0
- data/src/ruby/ext/grpc/extconf.rb +51 -14
- data/src/ruby/ext/grpc/rb_byte_buffer.c +3 -1
- data/src/ruby/ext/grpc/rb_call.c +6 -3
- data/src/ruby/ext/grpc/rb_call_credentials.c +4 -0
- data/src/ruby/ext/grpc/rb_channel.c +4 -2
- data/src/ruby/ext/grpc/rb_channel_args.c +3 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.c +3 -1
- data/src/ruby/ext/grpc/rb_completion_queue.c +3 -1
- data/src/ruby/ext/grpc/rb_event_thread.c +5 -0
- data/src/ruby/ext/grpc/rb_grpc.c +11 -3
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +560 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +843 -0
- data/src/ruby/ext/grpc/rb_loader.c +72 -0
- data/src/ruby/ext/grpc/rb_loader.h +40 -0
- data/src/ruby/ext/grpc/rb_server.c +3 -1
- data/src/ruby/ext/grpc/rb_server_credentials.c +4 -2
- data/src/ruby/lib/grpc/generic/bidi_call.rb +1 -1
- data/src/ruby/lib/grpc/generic/rpc_desc.rb +1 -1
- data/src/ruby/lib/grpc/generic/rpc_server.rb +1 -1
- data/src/ruby/lib/grpc/grpc.rb +34 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/pb/health/checker_spec.rb +1 -1
- data/third_party/boringssl/crypto/aes/aes.c +1142 -0
- data/third_party/boringssl/crypto/aes/internal.h +87 -0
- data/third_party/boringssl/crypto/aes/mode_wrappers.c +108 -0
- data/third_party/boringssl/crypto/asn1/a_bitstr.c +255 -0
- data/third_party/boringssl/crypto/asn1/a_bool.c +112 -0
- data/third_party/boringssl/crypto/asn1/a_bytes.c +317 -0
- data/third_party/boringssl/crypto/asn1/a_d2i_fp.c +286 -0
- data/third_party/boringssl/crypto/asn1/a_dup.c +103 -0
- data/third_party/boringssl/crypto/asn1/a_enum.c +183 -0
- data/third_party/boringssl/crypto/asn1/a_gentm.c +255 -0
- data/third_party/boringssl/crypto/asn1/a_i2d_fp.c +154 -0
- data/third_party/boringssl/crypto/asn1/a_int.c +456 -0
- data/third_party/boringssl/crypto/asn1/a_mbstr.c +390 -0
- data/third_party/boringssl/crypto/asn1/a_object.c +412 -0
- data/third_party/boringssl/crypto/asn1/a_octet.c +70 -0
- data/third_party/boringssl/crypto/asn1/a_print.c +119 -0
- data/third_party/boringssl/crypto/asn1/a_strnid.c +286 -0
- data/third_party/boringssl/crypto/asn1/a_time.c +221 -0
- data/third_party/boringssl/crypto/asn1/a_type.c +160 -0
- data/third_party/boringssl/crypto/asn1/a_utctm.c +342 -0
- data/third_party/boringssl/crypto/asn1/a_utf8.c +210 -0
- data/third_party/boringssl/crypto/asn1/asn1_lib.c +510 -0
- data/third_party/boringssl/crypto/asn1/asn1_locl.h +73 -0
- data/third_party/boringssl/crypto/asn1/asn1_par.c +444 -0
- data/third_party/boringssl/crypto/asn1/asn_pack.c +104 -0
- data/third_party/boringssl/crypto/asn1/bio_asn1.c +496 -0
- data/third_party/boringssl/crypto/asn1/bio_ndef.c +254 -0
- data/third_party/boringssl/crypto/asn1/f_enum.c +206 -0
- data/third_party/boringssl/crypto/asn1/f_int.c +210 -0
- data/third_party/boringssl/crypto/asn1/f_string.c +204 -0
- data/third_party/boringssl/crypto/asn1/t_bitst.c +102 -0
- data/third_party/boringssl/crypto/asn1/t_pkey.c +112 -0
- data/third_party/boringssl/crypto/asn1/tasn_dec.c +1342 -0
- data/third_party/boringssl/crypto/asn1/tasn_enc.c +695 -0
- data/third_party/boringssl/crypto/asn1/tasn_fre.c +264 -0
- data/third_party/boringssl/crypto/asn1/tasn_new.c +398 -0
- data/third_party/boringssl/crypto/asn1/tasn_prn.c +642 -0
- data/third_party/boringssl/crypto/asn1/tasn_typ.c +137 -0
- data/third_party/boringssl/crypto/asn1/tasn_utl.c +266 -0
- data/third_party/boringssl/crypto/asn1/x_bignum.c +143 -0
- data/third_party/boringssl/crypto/asn1/x_long.c +182 -0
- data/third_party/boringssl/crypto/base64/base64.c +478 -0
- data/third_party/boringssl/crypto/bio/bio.c +608 -0
- data/third_party/boringssl/crypto/bio/bio_mem.c +327 -0
- data/third_party/boringssl/crypto/bio/buffer.c +496 -0
- data/third_party/boringssl/crypto/bio/connect.c +544 -0
- data/third_party/boringssl/crypto/bio/fd.c +270 -0
- data/third_party/boringssl/crypto/bio/file.c +349 -0
- data/third_party/boringssl/crypto/bio/hexdump.c +192 -0
- data/third_party/boringssl/crypto/bio/internal.h +108 -0
- data/third_party/boringssl/crypto/bio/pair.c +803 -0
- data/third_party/boringssl/crypto/bio/printf.c +119 -0
- data/third_party/boringssl/crypto/bio/socket.c +195 -0
- data/third_party/boringssl/crypto/bio/socket_helper.c +113 -0
- data/third_party/boringssl/crypto/bn/add.c +377 -0
- data/third_party/boringssl/crypto/bn/asm/x86_64-gcc.c +599 -0
- data/third_party/boringssl/crypto/bn/bn.c +341 -0
- data/third_party/boringssl/crypto/bn/bn_asn1.c +93 -0
- data/third_party/boringssl/crypto/bn/cmp.c +200 -0
- data/third_party/boringssl/crypto/bn/convert.c +597 -0
- data/third_party/boringssl/crypto/bn/ctx.c +311 -0
- data/third_party/boringssl/crypto/bn/div.c +625 -0
- data/third_party/boringssl/crypto/bn/exponentiation.c +1544 -0
- data/third_party/boringssl/crypto/bn/gcd.c +711 -0
- data/third_party/boringssl/crypto/bn/generic.c +1019 -0
- data/third_party/boringssl/crypto/bn/internal.h +294 -0
- data/third_party/boringssl/crypto/bn/kronecker.c +175 -0
- data/third_party/boringssl/crypto/bn/montgomery.c +561 -0
- data/third_party/boringssl/crypto/bn/mul.c +888 -0
- data/third_party/boringssl/crypto/bn/prime.c +845 -0
- data/third_party/boringssl/crypto/bn/random.c +326 -0
- data/third_party/boringssl/crypto/bn/rsaz_exp.c +326 -0
- data/third_party/boringssl/crypto/bn/rsaz_exp.h +56 -0
- data/third_party/boringssl/crypto/bn/shift.c +299 -0
- data/third_party/boringssl/crypto/bn/sqrt.c +505 -0
- data/third_party/boringssl/crypto/buf/buf.c +235 -0
- data/third_party/boringssl/crypto/bytestring/ber.c +221 -0
- data/third_party/boringssl/crypto/bytestring/cbb.c +411 -0
- data/third_party/boringssl/crypto/bytestring/cbs.c +415 -0
- data/third_party/boringssl/crypto/bytestring/internal.h +46 -0
- data/third_party/boringssl/crypto/chacha/chacha_generic.c +140 -0
- data/third_party/boringssl/crypto/chacha/chacha_vec.c +323 -0
- data/third_party/boringssl/crypto/cipher/aead.c +167 -0
- data/third_party/boringssl/crypto/cipher/cipher.c +652 -0
- data/third_party/boringssl/crypto/cipher/derive_key.c +154 -0
- data/third_party/boringssl/crypto/cipher/e_aes.c +1767 -0
- data/third_party/boringssl/crypto/cipher/e_chacha20poly1305.c +311 -0
- data/third_party/boringssl/crypto/cipher/e_des.c +207 -0
- data/third_party/boringssl/crypto/cipher/e_null.c +85 -0
- data/third_party/boringssl/crypto/cipher/e_rc2.c +443 -0
- data/third_party/boringssl/crypto/cipher/e_rc4.c +87 -0
- data/third_party/boringssl/crypto/cipher/e_ssl3.c +463 -0
- data/third_party/boringssl/crypto/cipher/e_tls.c +673 -0
- data/third_party/boringssl/crypto/cipher/internal.h +164 -0
- data/third_party/boringssl/crypto/cipher/tls_cbc.c +495 -0
- data/third_party/boringssl/crypto/cmac/cmac.c +239 -0
- data/third_party/boringssl/crypto/conf/conf.c +778 -0
- data/third_party/boringssl/crypto/conf/conf_def.h +127 -0
- data/third_party/boringssl/crypto/conf/internal.h +31 -0
- data/third_party/boringssl/crypto/cpu-arm.c +199 -0
- data/third_party/boringssl/crypto/cpu-intel.c +261 -0
- data/third_party/boringssl/crypto/crypto.c +140 -0
- data/third_party/boringssl/crypto/curve25519/curve25519.c +4897 -0
- data/third_party/boringssl/crypto/des/des.c +771 -0
- data/third_party/boringssl/crypto/des/internal.h +212 -0
- data/third_party/boringssl/crypto/dh/check.c +180 -0
- data/third_party/boringssl/crypto/dh/dh.c +463 -0
- data/third_party/boringssl/crypto/dh/dh_asn1.c +84 -0
- data/third_party/boringssl/crypto/dh/internal.h +80 -0
- data/third_party/boringssl/crypto/dh/params.c +301 -0
- data/third_party/boringssl/crypto/digest/digest.c +248 -0
- data/third_party/boringssl/crypto/digest/digests.c +321 -0
- data/third_party/boringssl/crypto/digest/internal.h +112 -0
- data/third_party/boringssl/crypto/digest/md32_common.h +322 -0
- data/third_party/boringssl/crypto/directory.h +66 -0
- data/third_party/boringssl/crypto/directory_posix.c +108 -0
- data/third_party/boringssl/crypto/directory_win.c +144 -0
- data/third_party/boringssl/crypto/dsa/dsa.c +908 -0
- data/third_party/boringssl/crypto/dsa/dsa_asn1.c +150 -0
- data/third_party/boringssl/crypto/dsa/internal.h +78 -0
- data/third_party/boringssl/crypto/ec/ec.c +889 -0
- data/third_party/boringssl/crypto/ec/ec_asn1.c +586 -0
- data/third_party/boringssl/crypto/ec/ec_key.c +482 -0
- data/third_party/boringssl/crypto/ec/ec_montgomery.c +280 -0
- data/third_party/boringssl/crypto/ec/internal.h +318 -0
- data/third_party/boringssl/crypto/ec/oct.c +416 -0
- data/third_party/boringssl/crypto/ec/p224-64.c +1305 -0
- data/third_party/boringssl/crypto/ec/p256-64.c +1878 -0
- data/third_party/boringssl/crypto/ec/p256-x86_64-table.h +9548 -0
- data/third_party/boringssl/crypto/ec/p256-x86_64.c +596 -0
- data/third_party/boringssl/crypto/ec/simple.c +1313 -0
- data/third_party/boringssl/crypto/ec/util-64.c +183 -0
- data/third_party/boringssl/crypto/ec/wnaf.c +449 -0
- data/third_party/boringssl/crypto/ecdh/ecdh.c +153 -0
- data/third_party/boringssl/crypto/ecdsa/ecdsa.c +496 -0
- data/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c +240 -0
- data/third_party/boringssl/crypto/engine/engine.c +96 -0
- data/third_party/boringssl/crypto/err/err.c +756 -0
- data/third_party/boringssl/crypto/evp/algorithm.c +153 -0
- data/third_party/boringssl/crypto/evp/digestsign.c +159 -0
- data/third_party/boringssl/crypto/evp/evp.c +411 -0
- data/third_party/boringssl/crypto/evp/evp_asn1.c +179 -0
- data/third_party/boringssl/crypto/evp/evp_ctx.c +477 -0
- data/third_party/boringssl/crypto/evp/internal.h +278 -0
- data/third_party/boringssl/crypto/evp/p_dsa_asn1.c +588 -0
- data/third_party/boringssl/crypto/evp/p_ec.c +283 -0
- data/third_party/boringssl/crypto/evp/p_ec_asn1.c +562 -0
- data/third_party/boringssl/crypto/evp/p_rsa.c +596 -0
- data/third_party/boringssl/crypto/evp/p_rsa_asn1.c +737 -0
- data/third_party/boringssl/crypto/evp/pbkdf.c +151 -0
- data/third_party/boringssl/crypto/evp/sign.c +151 -0
- data/third_party/boringssl/crypto/ex_data.c +294 -0
- data/third_party/boringssl/crypto/hkdf/hkdf.c +89 -0
- data/third_party/boringssl/crypto/hmac/hmac.c +213 -0
- data/third_party/boringssl/crypto/internal.h +532 -0
- data/third_party/boringssl/crypto/lhash/lhash.c +346 -0
- data/third_party/boringssl/crypto/md4/md4.c +225 -0
- data/third_party/boringssl/crypto/md5/md5.c +275 -0
- data/third_party/boringssl/crypto/mem.c +200 -0
- data/third_party/boringssl/crypto/modes/cbc.c +216 -0
- data/third_party/boringssl/crypto/modes/cfb.c +231 -0
- data/third_party/boringssl/crypto/modes/ctr.c +226 -0
- data/third_party/boringssl/crypto/modes/gcm.c +1252 -0
- data/third_party/boringssl/crypto/modes/internal.h +370 -0
- data/third_party/boringssl/crypto/modes/ofb.c +108 -0
- data/third_party/boringssl/crypto/obj/obj.c +664 -0
- data/third_party/boringssl/crypto/obj/obj_dat.h +5257 -0
- data/third_party/boringssl/crypto/obj/obj_xref.c +124 -0
- data/third_party/boringssl/crypto/obj/obj_xref.h +96 -0
- data/third_party/boringssl/crypto/pem/pem_all.c +281 -0
- data/third_party/boringssl/crypto/pem/pem_info.c +404 -0
- data/third_party/boringssl/crypto/pem/pem_lib.c +835 -0
- data/third_party/boringssl/crypto/pem/pem_oth.c +89 -0
- data/third_party/boringssl/crypto/pem/pem_pk8.c +244 -0
- data/third_party/boringssl/crypto/pem/pem_pkey.c +312 -0
- data/third_party/boringssl/crypto/pem/pem_x509.c +65 -0
- data/third_party/boringssl/crypto/pem/pem_xaux.c +66 -0
- data/third_party/boringssl/crypto/pkcs8/internal.h +83 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbe.c +150 -0
- data/third_party/boringssl/crypto/pkcs8/p5_pbev2.c +440 -0
- data/third_party/boringssl/crypto/pkcs8/p8_pkey.c +85 -0
- data/third_party/boringssl/crypto/pkcs8/pkcs8.c +1217 -0
- data/third_party/boringssl/crypto/poly1305/poly1305.c +331 -0
- data/third_party/boringssl/crypto/poly1305/poly1305_arm.c +301 -0
- data/third_party/boringssl/crypto/poly1305/poly1305_vec.c +892 -0
- data/third_party/boringssl/crypto/rand/internal.h +32 -0
- data/third_party/boringssl/crypto/rand/rand.c +239 -0
- data/third_party/boringssl/crypto/rand/urandom.c +223 -0
- data/third_party/boringssl/crypto/rand/windows.c +56 -0
- data/third_party/boringssl/crypto/rc4/rc4.c +283 -0
- data/third_party/boringssl/crypto/refcount_c11.c +67 -0
- data/third_party/boringssl/crypto/refcount_lock.c +53 -0
- data/third_party/boringssl/crypto/rsa/blinding.c +462 -0
- data/third_party/boringssl/crypto/rsa/internal.h +164 -0
- data/third_party/boringssl/crypto/rsa/padding.c +711 -0
- data/third_party/boringssl/crypto/rsa/rsa.c +808 -0
- data/third_party/boringssl/crypto/rsa/rsa_asn1.c +473 -0
- data/third_party/boringssl/crypto/rsa/rsa_impl.c +1138 -0
- data/third_party/boringssl/crypto/sha/sha1.c +337 -0
- data/third_party/boringssl/crypto/sha/sha256.c +327 -0
- data/third_party/boringssl/crypto/sha/sha512.c +607 -0
- data/third_party/boringssl/crypto/stack/stack.c +386 -0
- data/third_party/boringssl/crypto/test/scoped_types.h +137 -0
- data/third_party/boringssl/crypto/test/test_util.h +35 -0
- data/third_party/boringssl/crypto/thread.c +101 -0
- data/third_party/boringssl/crypto/thread_none.c +55 -0
- data/third_party/boringssl/crypto/thread_pthread.c +167 -0
- data/third_party/boringssl/crypto/thread_win.c +282 -0
- data/third_party/boringssl/crypto/time_support.c +212 -0
- data/third_party/boringssl/crypto/x509/a_digest.c +97 -0
- data/third_party/boringssl/crypto/x509/a_sign.c +136 -0
- data/third_party/boringssl/crypto/x509/a_strex.c +564 -0
- data/third_party/boringssl/crypto/x509/a_verify.c +133 -0
- data/third_party/boringssl/crypto/x509/asn1_gen.c +873 -0
- data/third_party/boringssl/crypto/x509/by_dir.c +491 -0
- data/third_party/boringssl/crypto/x509/by_file.c +295 -0
- data/third_party/boringssl/crypto/x509/charmap.h +15 -0
- data/third_party/boringssl/crypto/x509/i2d_pr.c +84 -0
- data/third_party/boringssl/crypto/x509/pkcs7.c +353 -0
- data/third_party/boringssl/crypto/x509/t_crl.c +129 -0
- data/third_party/boringssl/crypto/x509/t_req.c +246 -0
- data/third_party/boringssl/crypto/x509/t_x509.c +500 -0
- data/third_party/boringssl/crypto/x509/t_x509a.c +109 -0
- data/third_party/boringssl/crypto/x509/vpm_int.h +70 -0
- data/third_party/boringssl/crypto/x509/x509.c +152 -0
- data/third_party/boringssl/crypto/x509/x509_att.c +353 -0
- data/third_party/boringssl/crypto/x509/x509_cmp.c +490 -0
- data/third_party/boringssl/crypto/x509/x509_d2.c +105 -0
- data/third_party/boringssl/crypto/x509/x509_def.c +88 -0
- data/third_party/boringssl/crypto/x509/x509_ext.c +206 -0
- data/third_party/boringssl/crypto/x509/x509_lu.c +738 -0
- data/third_party/boringssl/crypto/x509/x509_obj.c +191 -0
- data/third_party/boringssl/crypto/x509/x509_r2x.c +113 -0
- data/third_party/boringssl/crypto/x509/x509_req.c +315 -0
- data/third_party/boringssl/crypto/x509/x509_set.c +154 -0
- data/third_party/boringssl/crypto/x509/x509_trs.c +304 -0
- data/third_party/boringssl/crypto/x509/x509_txt.c +209 -0
- data/third_party/boringssl/crypto/x509/x509_v3.c +271 -0
- data/third_party/boringssl/crypto/x509/x509_vfy.c +2456 -0
- data/third_party/boringssl/crypto/x509/x509_vpm.c +672 -0
- data/third_party/boringssl/crypto/x509/x509cset.c +172 -0
- data/third_party/boringssl/crypto/x509/x509name.c +381 -0
- data/third_party/boringssl/crypto/x509/x509rset.c +80 -0
- data/third_party/boringssl/crypto/x509/x509spki.c +135 -0
- data/third_party/boringssl/crypto/x509/x509type.c +128 -0
- data/third_party/boringssl/crypto/x509/x_algor.c +154 -0
- data/third_party/boringssl/crypto/x509/x_all.c +547 -0
- data/third_party/boringssl/crypto/x509/x_attrib.c +117 -0
- data/third_party/boringssl/crypto/x509/x_crl.c +560 -0
- data/third_party/boringssl/crypto/x509/x_exten.c +75 -0
- data/third_party/boringssl/crypto/x509/x_info.c +95 -0
- data/third_party/boringssl/crypto/x509/x_name.c +538 -0
- data/third_party/boringssl/crypto/x509/x_pkey.c +100 -0
- data/third_party/boringssl/crypto/x509/x_pubkey.c +384 -0
- data/third_party/boringssl/crypto/x509/x_req.c +112 -0
- data/third_party/boringssl/crypto/x509/x_sig.c +69 -0
- data/third_party/boringssl/crypto/x509/x_spki.c +78 -0
- data/third_party/boringssl/crypto/x509/x_val.c +69 -0
- data/third_party/boringssl/crypto/x509/x_x509.c +227 -0
- data/third_party/boringssl/crypto/x509/x_x509a.c +197 -0
- data/third_party/boringssl/crypto/x509v3/ext_dat.h +129 -0
- data/third_party/boringssl/crypto/x509v3/pcy_cache.c +299 -0
- data/third_party/boringssl/crypto/x509v3/pcy_data.c +137 -0
- data/third_party/boringssl/crypto/x509v3/pcy_int.h +212 -0
- data/third_party/boringssl/crypto/x509v3/pcy_lib.c +165 -0
- data/third_party/boringssl/crypto/x509v3/pcy_map.c +133 -0
- data/third_party/boringssl/crypto/x509v3/pcy_node.c +197 -0
- data/third_party/boringssl/crypto/x509v3/pcy_tree.c +876 -0
- data/third_party/boringssl/crypto/x509v3/v3_akey.c +212 -0
- data/third_party/boringssl/crypto/x509v3/v3_akeya.c +71 -0
- data/third_party/boringssl/crypto/x509v3/v3_alt.c +622 -0
- data/third_party/boringssl/crypto/x509v3/v3_bcons.c +126 -0
- data/third_party/boringssl/crypto/x509v3/v3_bitst.c +141 -0
- data/third_party/boringssl/crypto/x509v3/v3_conf.c +459 -0
- data/third_party/boringssl/crypto/x509v3/v3_cpols.c +475 -0
- data/third_party/boringssl/crypto/x509v3/v3_crld.c +616 -0
- data/third_party/boringssl/crypto/x509v3/v3_enum.c +98 -0
- data/third_party/boringssl/crypto/x509v3/v3_extku.c +145 -0
- data/third_party/boringssl/crypto/x509v3/v3_genn.c +252 -0
- data/third_party/boringssl/crypto/x509v3/v3_ia5.c +117 -0
- data/third_party/boringssl/crypto/x509v3/v3_info.c +200 -0
- data/third_party/boringssl/crypto/x509v3/v3_int.c +87 -0
- data/third_party/boringssl/crypto/x509v3/v3_lib.c +335 -0
- data/third_party/boringssl/crypto/x509v3/v3_ncons.c +510 -0
- data/third_party/boringssl/crypto/x509v3/v3_pci.c +335 -0
- data/third_party/boringssl/crypto/x509v3/v3_pcia.c +56 -0
- data/third_party/boringssl/crypto/x509v3/v3_pcons.c +142 -0
- data/third_party/boringssl/crypto/x509v3/v3_pku.c +109 -0
- data/third_party/boringssl/crypto/x509v3/v3_pmaps.c +156 -0
- data/third_party/boringssl/crypto/x509v3/v3_prn.c +207 -0
- data/third_party/boringssl/crypto/x509v3/v3_purp.c +805 -0
- data/third_party/boringssl/crypto/x509v3/v3_skey.c +148 -0
- data/third_party/boringssl/crypto/x509v3/v3_sxnet.c +266 -0
- data/third_party/boringssl/crypto/x509v3/v3_utl.c +1322 -0
- data/third_party/boringssl/include/openssl/aead.h +346 -0
- data/third_party/boringssl/include/openssl/aes.h +158 -0
- data/third_party/boringssl/include/openssl/arm_arch.h +127 -0
- data/third_party/boringssl/include/openssl/asn1.h +1168 -0
- data/third_party/boringssl/include/openssl/asn1_mac.h +75 -0
- data/third_party/boringssl/include/openssl/asn1t.h +906 -0
- data/third_party/boringssl/include/openssl/base.h +261 -0
- data/third_party/boringssl/include/openssl/base64.h +184 -0
- data/third_party/boringssl/include/openssl/bio.h +902 -0
- data/third_party/boringssl/include/openssl/blowfish.h +93 -0
- data/third_party/boringssl/include/openssl/bn.h +885 -0
- data/third_party/boringssl/include/openssl/buf.h +118 -0
- data/third_party/boringssl/include/openssl/buffer.h +18 -0
- data/third_party/boringssl/include/openssl/bytestring.h +360 -0
- data/third_party/boringssl/include/openssl/cast.h +96 -0
- data/third_party/boringssl/include/openssl/chacha.h +37 -0
- data/third_party/boringssl/include/openssl/cipher.h +571 -0
- data/third_party/boringssl/include/openssl/cmac.h +76 -0
- data/third_party/boringssl/include/openssl/conf.h +145 -0
- data/third_party/boringssl/include/openssl/cpu.h +184 -0
- data/third_party/boringssl/include/openssl/crypto.h +68 -0
- data/third_party/boringssl/include/openssl/curve25519.h +88 -0
- data/third_party/boringssl/include/openssl/des.h +177 -0
- data/third_party/boringssl/include/openssl/dh.h +238 -0
- data/third_party/boringssl/include/openssl/digest.h +258 -0
- data/third_party/boringssl/include/openssl/dsa.h +343 -0
- data/third_party/boringssl/include/openssl/dtls1.h +16 -0
- data/third_party/boringssl/include/openssl/ec.h +355 -0
- data/third_party/boringssl/include/openssl/ec_key.h +280 -0
- data/third_party/boringssl/include/openssl/ecdh.h +102 -0
- data/third_party/boringssl/include/openssl/ecdsa.h +206 -0
- data/third_party/boringssl/include/openssl/engine.h +98 -0
- data/third_party/boringssl/include/openssl/err.h +487 -0
- data/third_party/boringssl/include/openssl/evp.h +750 -0
- data/third_party/boringssl/include/openssl/ex_data.h +213 -0
- data/third_party/boringssl/include/openssl/hkdf.h +44 -0
- data/third_party/boringssl/include/openssl/hmac.h +160 -0
- data/third_party/boringssl/include/openssl/lhash.h +192 -0
- data/third_party/boringssl/include/openssl/lhash_macros.h +132 -0
- data/third_party/boringssl/include/openssl/md4.h +102 -0
- data/third_party/boringssl/include/openssl/md5.h +107 -0
- data/third_party/boringssl/include/openssl/mem.h +140 -0
- data/third_party/boringssl/include/openssl/obj.h +198 -0
- data/third_party/boringssl/include/openssl/obj_mac.h +4140 -0
- data/third_party/boringssl/include/openssl/objects.h +18 -0
- data/third_party/boringssl/include/openssl/opensslfeatures.h +60 -0
- data/third_party/boringssl/include/openssl/opensslv.h +18 -0
- data/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
- data/third_party/boringssl/include/openssl/pem.h +521 -0
- data/third_party/boringssl/include/openssl/pkcs12.h +18 -0
- data/third_party/boringssl/include/openssl/pkcs7.h +16 -0
- data/third_party/boringssl/include/openssl/pkcs8.h +220 -0
- data/third_party/boringssl/include/openssl/poly1305.h +51 -0
- data/third_party/boringssl/include/openssl/pqueue.h +146 -0
- data/third_party/boringssl/include/openssl/rand.h +113 -0
- data/third_party/boringssl/include/openssl/rc4.h +90 -0
- data/third_party/boringssl/include/openssl/rsa.h +637 -0
- data/third_party/boringssl/include/openssl/safestack.h +16 -0
- data/third_party/boringssl/include/openssl/sha.h +256 -0
- data/third_party/boringssl/include/openssl/srtp.h +18 -0
- data/third_party/boringssl/include/openssl/ssl.h +4466 -0
- data/third_party/boringssl/include/openssl/ssl3.h +441 -0
- data/third_party/boringssl/include/openssl/stack.h +298 -0
- data/third_party/boringssl/include/openssl/stack_macros.h +4190 -0
- data/third_party/boringssl/include/openssl/thread.h +173 -0
- data/third_party/boringssl/include/openssl/time_support.h +90 -0
- data/third_party/boringssl/include/openssl/tls1.h +653 -0
- data/third_party/boringssl/include/openssl/type_check.h +91 -0
- data/third_party/boringssl/include/openssl/x509.h +1258 -0
- data/third_party/boringssl/include/openssl/x509_vfy.h +611 -0
- data/third_party/boringssl/include/openssl/x509v3.h +798 -0
- data/third_party/boringssl/ssl/custom_extensions.c +257 -0
- data/third_party/boringssl/ssl/d1_both.c +880 -0
- data/third_party/boringssl/ssl/d1_clnt.c +566 -0
- data/third_party/boringssl/ssl/d1_lib.c +340 -0
- data/third_party/boringssl/ssl/d1_meth.c +130 -0
- data/third_party/boringssl/ssl/d1_pkt.c +578 -0
- data/third_party/boringssl/ssl/d1_srtp.c +234 -0
- data/third_party/boringssl/ssl/d1_srvr.c +485 -0
- data/third_party/boringssl/ssl/dtls_record.c +308 -0
- data/third_party/boringssl/ssl/internal.h +1276 -0
- data/third_party/boringssl/ssl/pqueue/pqueue.c +197 -0
- data/third_party/boringssl/ssl/s3_both.c +571 -0
- data/third_party/boringssl/ssl/s3_clnt.c +2241 -0
- data/third_party/boringssl/ssl/s3_enc.c +494 -0
- data/third_party/boringssl/ssl/s3_lib.c +587 -0
- data/third_party/boringssl/ssl/s3_meth.c +166 -0
- data/third_party/boringssl/ssl/s3_pkt.c +732 -0
- data/third_party/boringssl/ssl/s3_srvr.c +2536 -0
- data/third_party/boringssl/ssl/ssl_aead_ctx.c +300 -0
- data/third_party/boringssl/ssl/ssl_asn1.c +718 -0
- data/third_party/boringssl/ssl/ssl_buffer.c +319 -0
- data/third_party/boringssl/ssl/ssl_cert.c +539 -0
- data/third_party/boringssl/ssl/ssl_cipher.c +2003 -0
- data/third_party/boringssl/ssl/ssl_file.c +633 -0
- data/third_party/boringssl/ssl/ssl_lib.c +2653 -0
- data/third_party/boringssl/ssl/ssl_rsa.c +423 -0
- data/third_party/boringssl/ssl/ssl_session.c +764 -0
- data/third_party/boringssl/ssl/ssl_stat.c +591 -0
- data/third_party/boringssl/ssl/t1_enc.c +708 -0
- data/third_party/boringssl/ssl/t1_lib.c +2905 -0
- data/third_party/boringssl/ssl/test/async_bio.h +45 -0
- data/third_party/boringssl/ssl/test/packeted_bio.h +44 -0
- data/third_party/boringssl/ssl/test/scoped_types.h +28 -0
- data/third_party/boringssl/ssl/test/test_config.h +108 -0
- data/third_party/boringssl/ssl/tls_record.c +342 -0
- data/third_party/zlib/adler32.c +179 -0
- data/third_party/zlib/compress.c +80 -0
- data/third_party/zlib/crc32.c +425 -0
- data/third_party/zlib/crc32.h +441 -0
- data/third_party/zlib/deflate.c +1967 -0
- data/third_party/zlib/deflate.h +346 -0
- data/third_party/zlib/gzclose.c +25 -0
- data/third_party/zlib/gzguts.h +209 -0
- data/third_party/zlib/gzlib.c +634 -0
- data/third_party/zlib/gzread.c +594 -0
- data/third_party/zlib/gzwrite.c +577 -0
- data/third_party/zlib/infback.c +640 -0
- data/third_party/zlib/inffast.c +340 -0
- data/third_party/zlib/inffast.h +11 -0
- data/third_party/zlib/inffixed.h +94 -0
- data/third_party/zlib/inflate.c +1512 -0
- data/third_party/zlib/inflate.h +122 -0
- data/third_party/zlib/inftrees.c +306 -0
- data/third_party/zlib/inftrees.h +62 -0
- data/third_party/zlib/trees.c +1226 -0
- data/third_party/zlib/trees.h +128 -0
- data/third_party/zlib/uncompr.c +59 -0
- data/third_party/zlib/zconf.h +511 -0
- data/third_party/zlib/zlib.h +1768 -0
- data/third_party/zlib/zutil.c +324 -0
- data/third_party/zlib/zutil.h +253 -0
- metadata +492 -25
- data/Rakefile +0 -63
- data/src/ruby/lib/grpc/grpc.so +0 -0
data/src/core/iomgr/timer_heap.c
CHANGED
@@ -43,9 +43,9 @@
|
|
43
43
|
position. This functor is called each time immediately after modifying a
|
44
44
|
value in the underlying container, with the offset of the modified element as
|
45
45
|
its argument. */
|
46
|
-
static void adjust_upwards(grpc_timer **first,
|
46
|
+
static void adjust_upwards(grpc_timer **first, uint32_t i, grpc_timer *t) {
|
47
47
|
while (i > 0) {
|
48
|
-
|
48
|
+
uint32_t parent = (uint32_t)(((int)i - 1) / 2);
|
49
49
|
if (gpr_time_cmp(first[parent]->deadline, t->deadline) >= 0) break;
|
50
50
|
first[i] = first[parent];
|
51
51
|
first[i]->heap_index = i;
|
@@ -58,12 +58,12 @@ static void adjust_upwards(grpc_timer **first, gpr_uint32 i, grpc_timer *t) {
|
|
58
58
|
/* Adjusts a heap so as to move a hole at position i farther away from the root,
|
59
59
|
until a suitable position is found for element t. Then, copies t into that
|
60
60
|
position. */
|
61
|
-
static void adjust_downwards(grpc_timer **first,
|
62
|
-
|
61
|
+
static void adjust_downwards(grpc_timer **first, uint32_t i, uint32_t length,
|
62
|
+
grpc_timer *t) {
|
63
63
|
for (;;) {
|
64
|
-
|
65
|
-
|
66
|
-
|
64
|
+
uint32_t left_child = 1u + 2u * i;
|
65
|
+
uint32_t right_child;
|
66
|
+
uint32_t next_i;
|
67
67
|
if (left_child >= length) break;
|
68
68
|
right_child = left_child + 1;
|
69
69
|
next_i = right_child < length &&
|
@@ -93,8 +93,8 @@ static void maybe_shrink(grpc_timer_heap *heap) {
|
|
93
93
|
}
|
94
94
|
|
95
95
|
static void note_changed_priority(grpc_timer_heap *heap, grpc_timer *timer) {
|
96
|
-
|
97
|
-
|
96
|
+
uint32_t i = timer->heap_index;
|
97
|
+
uint32_t parent = (uint32_t)(((int)i - 1) / 2);
|
98
98
|
if (gpr_time_cmp(heap->timers[parent]->deadline, timer->deadline) < 0) {
|
99
99
|
adjust_upwards(heap->timers, i, timer);
|
100
100
|
} else {
|
@@ -122,7 +122,7 @@ int grpc_timer_heap_add(grpc_timer_heap *heap, grpc_timer *timer) {
|
|
122
122
|
}
|
123
123
|
|
124
124
|
void grpc_timer_heap_remove(grpc_timer_heap *heap, grpc_timer *timer) {
|
125
|
-
|
125
|
+
uint32_t i = timer->heap_index;
|
126
126
|
if (i == heap->timer_count - 1) {
|
127
127
|
heap->timer_count--;
|
128
128
|
maybe_shrink(heap);
|
data/src/core/iomgr/timer_heap.h
CHANGED
data/src/core/iomgr/udp_server.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -75,7 +75,7 @@ typedef struct {
|
|
75
75
|
grpc_fd *emfd;
|
76
76
|
grpc_udp_server *server;
|
77
77
|
union {
|
78
|
-
|
78
|
+
uint8_t untyped[GRPC_MAX_SOCKADDR_SIZE];
|
79
79
|
struct sockaddr sockaddr;
|
80
80
|
struct sockaddr_un un;
|
81
81
|
} addr;
|
@@ -425,15 +425,5 @@ void grpc_udp_server_start(grpc_exec_ctx *exec_ctx, grpc_udp_server *s,
|
|
425
425
|
gpr_mu_unlock(&s->mu);
|
426
426
|
}
|
427
427
|
|
428
|
-
/* TODO(rjshade): Add a test for this method. */
|
429
|
-
void grpc_udp_server_write(server_port *sp, const char *buffer, size_t buf_len,
|
430
|
-
const struct sockaddr *peer_address) {
|
431
|
-
ssize_t rc;
|
432
|
-
rc = sendto(sp->fd, buffer, buf_len, 0, peer_address, sizeof(peer_address));
|
433
|
-
if (rc < 0) {
|
434
|
-
gpr_log(GPR_ERROR, "Unable to send data: %s", strerror(errno));
|
435
|
-
}
|
436
|
-
}
|
437
|
-
|
438
428
|
#endif
|
439
429
|
#endif
|
data/src/core/iomgr/udp_server.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -72,12 +72,4 @@ int grpc_udp_server_add_port(grpc_udp_server *s, const void *addr,
|
|
72
72
|
void grpc_udp_server_destroy(grpc_exec_ctx *exec_ctx, grpc_udp_server *server,
|
73
73
|
grpc_closure *on_done);
|
74
74
|
|
75
|
-
/* Write the contents of buffer to the underlying UDP socket. */
|
76
|
-
/*
|
77
|
-
void grpc_udp_server_write(grpc_udp_server *s,
|
78
|
-
const char *buffer,
|
79
|
-
int buf_len,
|
80
|
-
const struct sockaddr* to);
|
81
|
-
*/
|
82
|
-
|
83
75
|
#endif /* GRPC_INTERNAL_CORE_IOMGR_UDP_SERVER_H */
|
data/src/core/iomgr/workqueue.h
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -47,9 +47,7 @@
|
|
47
47
|
#include "src/core/iomgr/workqueue_windows.h"
|
48
48
|
#endif
|
49
49
|
|
50
|
-
|
51
|
-
struct grpc_workqueue;
|
52
|
-
typedef struct grpc_workqueue grpc_workqueue;
|
50
|
+
/* grpc_workqueue is forward declared in exec_ctx.h */
|
53
51
|
|
54
52
|
/** Create a work queue */
|
55
53
|
grpc_workqueue *grpc_workqueue_create(grpc_exec_ctx *exec_ctx);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -45,7 +45,7 @@
|
|
45
45
|
|
46
46
|
#include "src/core/iomgr/fd_posix.h"
|
47
47
|
|
48
|
-
static void on_readable(grpc_exec_ctx *exec_ctx, void *arg,
|
48
|
+
static void on_readable(grpc_exec_ctx *exec_ctx, void *arg, bool success);
|
49
49
|
|
50
50
|
grpc_workqueue *grpc_workqueue_create(grpc_exec_ctx *exec_ctx) {
|
51
51
|
char name[32];
|
@@ -110,7 +110,7 @@ void grpc_workqueue_flush(grpc_exec_ctx *exec_ctx, grpc_workqueue *workqueue) {
|
|
110
110
|
gpr_mu_unlock(&workqueue->mu);
|
111
111
|
}
|
112
112
|
|
113
|
-
static void on_readable(grpc_exec_ctx *exec_ctx, void *arg,
|
113
|
+
static void on_readable(grpc_exec_ctx *exec_ctx, void *arg, bool success) {
|
114
114
|
grpc_workqueue *workqueue = arg;
|
115
115
|
|
116
116
|
if (!success) {
|
data/src/core/json/json_reader.c
CHANGED
@@ -43,17 +43,16 @@ static void json_reader_string_clear(grpc_json_reader *reader) {
|
|
43
43
|
reader->vtable->string_clear(reader->userdata);
|
44
44
|
}
|
45
45
|
|
46
|
-
static void json_reader_string_add_char(grpc_json_reader *reader,
|
47
|
-
gpr_uint32 c) {
|
46
|
+
static void json_reader_string_add_char(grpc_json_reader *reader, uint32_t c) {
|
48
47
|
reader->vtable->string_add_char(reader->userdata, c);
|
49
48
|
}
|
50
49
|
|
51
50
|
static void json_reader_string_add_utf32(grpc_json_reader *reader,
|
52
|
-
|
51
|
+
uint32_t utf32) {
|
53
52
|
reader->vtable->string_add_utf32(reader->userdata, utf32);
|
54
53
|
}
|
55
54
|
|
56
|
-
static
|
55
|
+
static uint32_t grpc_json_reader_read_char(grpc_json_reader *reader) {
|
57
56
|
return reader->vtable->read_char(reader->userdata);
|
58
57
|
}
|
59
58
|
|
@@ -108,7 +107,7 @@ int grpc_json_reader_is_complete(grpc_json_reader *reader) {
|
|
108
107
|
}
|
109
108
|
|
110
109
|
grpc_json_reader_status grpc_json_reader_run(grpc_json_reader *reader) {
|
111
|
-
|
110
|
+
uint32_t c, success;
|
112
111
|
|
113
112
|
/* This state-machine is a strict implementation of ECMA-404 */
|
114
113
|
for (;;) {
|
@@ -154,7 +153,7 @@ grpc_json_reader_status grpc_json_reader_run(grpc_json_reader *reader) {
|
|
154
153
|
case GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL:
|
155
154
|
case GRPC_JSON_STATE_VALUE_NUMBER_ZERO:
|
156
155
|
case GRPC_JSON_STATE_VALUE_NUMBER_EPM:
|
157
|
-
success = (
|
156
|
+
success = (uint32_t)json_reader_set_number(reader);
|
158
157
|
if (!success) return GRPC_JSON_PARSE_ERROR;
|
159
158
|
json_reader_string_clear(reader);
|
160
159
|
reader->state = GRPC_JSON_STATE_VALUE_END;
|
@@ -181,7 +180,7 @@ grpc_json_reader_status grpc_json_reader_run(grpc_json_reader *reader) {
|
|
181
180
|
case GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL:
|
182
181
|
case GRPC_JSON_STATE_VALUE_NUMBER_ZERO:
|
183
182
|
case GRPC_JSON_STATE_VALUE_NUMBER_EPM:
|
184
|
-
success = (
|
183
|
+
success = (uint32_t)json_reader_set_number(reader);
|
185
184
|
if (!success) return GRPC_JSON_PARSE_ERROR;
|
186
185
|
json_reader_string_clear(reader);
|
187
186
|
reader->state = GRPC_JSON_STATE_VALUE_END;
|
@@ -416,8 +415,8 @@ grpc_json_reader_status grpc_json_reader_run(grpc_json_reader *reader) {
|
|
416
415
|
} else {
|
417
416
|
return GRPC_JSON_PARSE_ERROR;
|
418
417
|
}
|
419
|
-
reader->unicode_char = (
|
420
|
-
reader->unicode_char = (
|
418
|
+
reader->unicode_char = (uint16_t)(reader->unicode_char << 4);
|
419
|
+
reader->unicode_char = (uint16_t)(reader->unicode_char | c);
|
421
420
|
|
422
421
|
switch (reader->state) {
|
423
422
|
case GRPC_JSON_STATE_STRING_ESCAPE_U1:
|
@@ -440,13 +439,13 @@ grpc_json_reader_status grpc_json_reader_run(grpc_json_reader *reader) {
|
|
440
439
|
reader->unicode_high_surrogate = reader->unicode_char;
|
441
440
|
} else if ((reader->unicode_char & 0xfc00) == 0xdc00) {
|
442
441
|
/* low surrogate utf-16 */
|
443
|
-
|
442
|
+
uint32_t utf32;
|
444
443
|
if (reader->unicode_high_surrogate == 0)
|
445
444
|
return GRPC_JSON_PARSE_ERROR;
|
446
445
|
utf32 = 0x10000;
|
447
|
-
utf32 += (
|
446
|
+
utf32 += (uint32_t)(
|
448
447
|
(reader->unicode_high_surrogate - 0xd800) * 0x400);
|
449
|
-
utf32 += (
|
448
|
+
utf32 += (uint32_t)(reader->unicode_char - 0xdc00);
|
450
449
|
json_reader_string_add_utf32(reader, utf32);
|
451
450
|
reader->unicode_high_surrogate = 0;
|
452
451
|
} else {
|
data/src/core/json/json_reader.h
CHANGED
@@ -84,11 +84,11 @@ typedef struct grpc_json_reader_vtable {
|
|
84
84
|
/* Clears your internal string scratchpad. */
|
85
85
|
void (*string_clear)(void *userdata);
|
86
86
|
/* Adds a char to the string scratchpad. */
|
87
|
-
void (*string_add_char)(void *userdata,
|
87
|
+
void (*string_add_char)(void *userdata, uint32_t c);
|
88
88
|
/* Adds a utf32 char to the string scratchpad. */
|
89
|
-
void (*string_add_utf32)(void *userdata,
|
89
|
+
void (*string_add_utf32)(void *userdata, uint32_t c);
|
90
90
|
/* Reads a character from your input. May be utf-8, 16 or 32. */
|
91
|
-
|
91
|
+
uint32_t (*read_char)(void *userdata);
|
92
92
|
/* Starts a container of type GRPC_JSON_ARRAY or GRPC_JSON_OBJECT. */
|
93
93
|
void (*container_begins)(void *userdata, grpc_json_type type);
|
94
94
|
/* Ends the current container. Must return the type of its parent. */
|
@@ -117,7 +117,7 @@ typedef struct grpc_json_reader {
|
|
117
117
|
int in_array;
|
118
118
|
int escaped_string_was_key;
|
119
119
|
int container_just_begun;
|
120
|
-
|
120
|
+
uint16_t unicode_char, unicode_high_surrogate;
|
121
121
|
grpc_json_reader_state state;
|
122
122
|
} grpc_json_reader;
|
123
123
|
|
data/src/core/json/json_string.c
CHANGED
@@ -56,10 +56,10 @@ typedef struct {
|
|
56
56
|
grpc_json *top;
|
57
57
|
grpc_json *current_container;
|
58
58
|
grpc_json *current_value;
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
59
|
+
uint8_t *input;
|
60
|
+
uint8_t *key;
|
61
|
+
uint8_t *string;
|
62
|
+
uint8_t *string_ptr;
|
63
63
|
size_t remaining_input;
|
64
64
|
} json_reader_userdata;
|
65
65
|
|
@@ -122,36 +122,36 @@ static void json_reader_string_clear(void *userdata) {
|
|
122
122
|
state->string = state->string_ptr;
|
123
123
|
}
|
124
124
|
|
125
|
-
static void json_reader_string_add_char(void *userdata,
|
125
|
+
static void json_reader_string_add_char(void *userdata, uint32_t c) {
|
126
126
|
json_reader_userdata *state = userdata;
|
127
127
|
GPR_ASSERT(state->string_ptr < state->input);
|
128
128
|
GPR_ASSERT(c <= 0xff);
|
129
|
-
*state->string_ptr++ = (
|
129
|
+
*state->string_ptr++ = (uint8_t)c;
|
130
130
|
}
|
131
131
|
|
132
132
|
/* We are converting a UTF-32 character into UTF-8 here,
|
133
133
|
* as described by RFC3629.
|
134
134
|
*/
|
135
|
-
static void json_reader_string_add_utf32(void *userdata,
|
135
|
+
static void json_reader_string_add_utf32(void *userdata, uint32_t c) {
|
136
136
|
if (c <= 0x7f) {
|
137
137
|
json_reader_string_add_char(userdata, c);
|
138
138
|
} else if (c <= 0x7ff) {
|
139
|
-
|
140
|
-
|
139
|
+
uint32_t b1 = 0xc0 | ((c >> 6) & 0x1f);
|
140
|
+
uint32_t b2 = 0x80 | (c & 0x3f);
|
141
141
|
json_reader_string_add_char(userdata, b1);
|
142
142
|
json_reader_string_add_char(userdata, b2);
|
143
143
|
} else if (c <= 0xffff) {
|
144
|
-
|
145
|
-
|
146
|
-
|
144
|
+
uint32_t b1 = 0xe0 | ((c >> 12) & 0x0f);
|
145
|
+
uint32_t b2 = 0x80 | ((c >> 6) & 0x3f);
|
146
|
+
uint32_t b3 = 0x80 | (c & 0x3f);
|
147
147
|
json_reader_string_add_char(userdata, b1);
|
148
148
|
json_reader_string_add_char(userdata, b2);
|
149
149
|
json_reader_string_add_char(userdata, b3);
|
150
150
|
} else if (c <= 0x1fffff) {
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
151
|
+
uint32_t b1 = 0xf0 | ((c >> 18) & 0x07);
|
152
|
+
uint32_t b2 = 0x80 | ((c >> 12) & 0x3f);
|
153
|
+
uint32_t b3 = 0x80 | ((c >> 6) & 0x3f);
|
154
|
+
uint32_t b4 = 0x80 | (c & 0x3f);
|
155
155
|
json_reader_string_add_char(userdata, b1);
|
156
156
|
json_reader_string_add_char(userdata, b2);
|
157
157
|
json_reader_string_add_char(userdata, b3);
|
@@ -162,8 +162,8 @@ static void json_reader_string_add_utf32(void *userdata, gpr_uint32 c) {
|
|
162
162
|
/* We consider that the input may be a zero-terminated string. So we
|
163
163
|
* can end up hitting eof before the end of the alleged string length.
|
164
164
|
*/
|
165
|
-
static
|
166
|
-
|
165
|
+
static uint32_t json_reader_read_char(void *userdata) {
|
166
|
+
uint32_t r;
|
167
167
|
json_reader_userdata *state = userdata;
|
168
168
|
|
169
169
|
if (state->remaining_input == 0) return GRPC_JSON_READ_CHAR_EOF;
|
@@ -302,7 +302,7 @@ grpc_json *grpc_json_parse_string_with_len(char *input, size_t size) {
|
|
302
302
|
|
303
303
|
state.top = state.current_container = state.current_value = NULL;
|
304
304
|
state.string = state.key = NULL;
|
305
|
-
state.string_ptr = state.input = (
|
305
|
+
state.string_ptr = state.input = (uint8_t *)input;
|
306
306
|
state.remaining_input = size;
|
307
307
|
grpc_json_reader_init(&reader, &reader_vtable, &state);
|
308
308
|
|
data/src/core/json/json_writer.c
CHANGED
@@ -100,8 +100,7 @@ static void json_writer_value_end(grpc_json_writer *writer) {
|
|
100
100
|
}
|
101
101
|
}
|
102
102
|
|
103
|
-
static void json_writer_escape_utf16(grpc_json_writer *writer,
|
104
|
-
gpr_uint16 utf16) {
|
103
|
+
static void json_writer_escape_utf16(grpc_json_writer *writer, uint16_t utf16) {
|
105
104
|
static const char hex[] = "0123456789abcdef";
|
106
105
|
|
107
106
|
json_writer_output_string_with_len(writer, "\\u", 2);
|
@@ -116,7 +115,7 @@ static void json_writer_escape_string(grpc_json_writer *writer,
|
|
116
115
|
json_writer_output_char(writer, '"');
|
117
116
|
|
118
117
|
for (;;) {
|
119
|
-
|
118
|
+
uint8_t c = (uint8_t)*string++;
|
120
119
|
if (c == 0) {
|
121
120
|
break;
|
122
121
|
} else if ((c >= 32) && (c <= 126)) {
|
@@ -144,7 +143,7 @@ static void json_writer_escape_string(grpc_json_writer *writer,
|
|
144
143
|
break;
|
145
144
|
}
|
146
145
|
} else {
|
147
|
-
|
146
|
+
uint32_t utf32 = 0;
|
148
147
|
int extra = 0;
|
149
148
|
int i;
|
150
149
|
int valid = 1;
|
@@ -162,7 +161,7 @@ static void json_writer_escape_string(grpc_json_writer *writer,
|
|
162
161
|
}
|
163
162
|
for (i = 0; i < extra; i++) {
|
164
163
|
utf32 <<= 6;
|
165
|
-
c = (
|
164
|
+
c = (uint8_t)(*string++);
|
166
165
|
/* Breaks out and bail on any invalid UTF-8 sequence, including \0. */
|
167
166
|
if ((c & 0xc0) != 0x80) {
|
168
167
|
valid = 0;
|
@@ -195,11 +194,10 @@ static void json_writer_escape_string(grpc_json_writer *writer,
|
|
195
194
|
* That range is exactly 20 bits.
|
196
195
|
*/
|
197
196
|
utf32 -= 0x10000;
|
198
|
-
json_writer_escape_utf16(writer, (
|
199
|
-
json_writer_escape_utf16(writer,
|
200
|
-
(gpr_uint16)(0xdc00 | (utf32 & 0x3ff)));
|
197
|
+
json_writer_escape_utf16(writer, (uint16_t)(0xd800 | (utf32 >> 10)));
|
198
|
+
json_writer_escape_utf16(writer, (uint16_t)(0xdc00 | (utf32 & 0x3ff)));
|
201
199
|
} else {
|
202
|
-
json_writer_escape_utf16(writer, (
|
200
|
+
json_writer_escape_utf16(writer, (uint16_t)utf32);
|
203
201
|
}
|
204
202
|
}
|
205
203
|
}
|
data/src/core/security/base64.c
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
*
|
3
|
-
* Copyright 2015, Google Inc.
|
3
|
+
* Copyright 2015-2016, Google Inc.
|
4
4
|
* All rights reserved.
|
5
5
|
*
|
6
6
|
* Redistribution and use in source and binary forms, with or without
|
@@ -33,6 +33,7 @@
|
|
33
33
|
|
34
34
|
#include "src/core/security/base64.h"
|
35
35
|
|
36
|
+
#include <stdint.h>
|
36
37
|
#include <string.h>
|
37
38
|
|
38
39
|
#include <grpc/support/alloc.h>
|
@@ -41,7 +42,7 @@
|
|
41
42
|
|
42
43
|
/* --- Constants. --- */
|
43
44
|
|
44
|
-
static const
|
45
|
+
static const int8_t base64_bytes[] = {
|
45
46
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
46
47
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
47
48
|
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
@@ -114,7 +115,7 @@ char *grpc_base64_encode(const void *vdata, size_t data_size, int url_safe,
|
|
114
115
|
}
|
115
116
|
|
116
117
|
GPR_ASSERT(current >= result);
|
117
|
-
GPR_ASSERT((
|
118
|
+
GPR_ASSERT((uintptr_t)(current - result) < result_projected_size);
|
118
119
|
result[current - result] = '\0';
|
119
120
|
return result;
|
120
121
|
}
|
@@ -125,14 +126,14 @@ gpr_slice grpc_base64_decode(const char *b64, int url_safe) {
|
|
125
126
|
|
126
127
|
static void decode_one_char(const unsigned char *codes, unsigned char *result,
|
127
128
|
size_t *result_offset) {
|
128
|
-
|
129
|
+
uint32_t packed = ((uint32_t)codes[0] << 2) | ((uint32_t)codes[1] >> 4);
|
129
130
|
result[(*result_offset)++] = (unsigned char)packed;
|
130
131
|
}
|
131
132
|
|
132
133
|
static void decode_two_chars(const unsigned char *codes, unsigned char *result,
|
133
134
|
size_t *result_offset) {
|
134
|
-
|
135
|
-
|
135
|
+
uint32_t packed = ((uint32_t)codes[0] << 10) | ((uint32_t)codes[1] << 4) |
|
136
|
+
((uint32_t)codes[2] >> 2);
|
136
137
|
result[(*result_offset)++] = (unsigned char)(packed >> 8);
|
137
138
|
result[(*result_offset)++] = (unsigned char)(packed);
|
138
139
|
}
|
@@ -172,9 +173,8 @@ static int decode_group(const unsigned char *codes, size_t num_codes,
|
|
172
173
|
decode_two_chars(codes, result, result_offset);
|
173
174
|
} else {
|
174
175
|
/* No padding. */
|
175
|
-
|
176
|
-
|
177
|
-
((gpr_uint32)codes[2] << 6) | codes[3];
|
176
|
+
uint32_t packed = ((uint32_t)codes[0] << 18) | ((uint32_t)codes[1] << 12) |
|
177
|
+
((uint32_t)codes[2] << 6) | codes[3];
|
178
178
|
result[(*result_offset)++] = (unsigned char)(packed >> 16);
|
179
179
|
result[(*result_offset)++] = (unsigned char)(packed >> 8);
|
180
180
|
result[(*result_offset)++] = (unsigned char)(packed);
|