mirror of https://github.com/grpc/grpc.git
commit
a3f3442010
126 changed files with 6806 additions and 1220 deletions
@ -0,0 +1,554 @@ |
||||
PHP_ARG_ENABLE(grpc, whether to enable grpc support, |
||||
[ --enable-grpc Enable grpc support]) |
||||
|
||||
if test "$PHP_GRPC" != "no"; then |
||||
dnl Write more examples of tests here... |
||||
|
||||
dnl # --with-grpc -> add include path |
||||
PHP_ADD_INCLUDE(../../grpc/include) |
||||
PHP_ADD_INCLUDE(../../grpc/src/php/ext/grpc) |
||||
PHP_ADD_INCLUDE(../../grpc/third_party/boringssl/include) |
||||
|
||||
LIBS="-lpthread $LIBS" |
||||
|
||||
GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD" |
||||
PHP_ADD_LIBRARY(pthread) |
||||
|
||||
PHP_ADD_LIBRARY(dl,,GRPC_SHARED_LIBADD) |
||||
PHP_ADD_LIBRARY(dl) |
||||
|
||||
case $host in |
||||
*darwin*) ;; |
||||
*) |
||||
PHP_ADD_LIBRARY(rt,,GRPC_SHARED_LIBADD) |
||||
PHP_ADD_LIBRARY(rt) |
||||
;; |
||||
esac |
||||
|
||||
PHP_NEW_EXTENSION(grpc, |
||||
src/php/ext/grpc/byte_buffer.c \ |
||||
src/php/ext/grpc/call.c \ |
||||
src/php/ext/grpc/call_credentials.c \ |
||||
src/php/ext/grpc/channel.c \ |
||||
src/php/ext/grpc/channel_credentials.c \ |
||||
src/php/ext/grpc/completion_queue.c \ |
||||
src/php/ext/grpc/php_grpc.c \ |
||||
src/php/ext/grpc/server.c \ |
||||
src/php/ext/grpc/server_credentials.c \ |
||||
src/php/ext/grpc/timeval.c \ |
||||
src/core/profiling/basic_timers.c \ |
||||
src/core/profiling/stap_timers.c \ |
||||
src/core/support/alloc.c \ |
||||
src/core/support/avl.c \ |
||||
src/core/support/cmdline.c \ |
||||
src/core/support/cpu_iphone.c \ |
||||
src/core/support/cpu_linux.c \ |
||||
src/core/support/cpu_posix.c \ |
||||
src/core/support/cpu_windows.c \ |
||||
src/core/support/env_linux.c \ |
||||
src/core/support/env_posix.c \ |
||||
src/core/support/env_win32.c \ |
||||
src/core/support/file.c \ |
||||
src/core/support/file_posix.c \ |
||||
src/core/support/file_win32.c \ |
||||
src/core/support/histogram.c \ |
||||
src/core/support/host_port.c \ |
||||
src/core/support/log.c \ |
||||
src/core/support/log_android.c \ |
||||
src/core/support/log_linux.c \ |
||||
src/core/support/log_posix.c \ |
||||
src/core/support/log_win32.c \ |
||||
src/core/support/murmur_hash.c \ |
||||
src/core/support/slice.c \ |
||||
src/core/support/slice_buffer.c \ |
||||
src/core/support/stack_lockfree.c \ |
||||
src/core/support/string.c \ |
||||
src/core/support/string_posix.c \ |
||||
src/core/support/string_win32.c \ |
||||
src/core/support/subprocess_posix.c \ |
||||
src/core/support/subprocess_windows.c \ |
||||
src/core/support/sync.c \ |
||||
src/core/support/sync_posix.c \ |
||||
src/core/support/sync_win32.c \ |
||||
src/core/support/thd.c \ |
||||
src/core/support/thd_posix.c \ |
||||
src/core/support/thd_win32.c \ |
||||
src/core/support/time.c \ |
||||
src/core/support/time_posix.c \ |
||||
src/core/support/time_precise.c \ |
||||
src/core/support/time_win32.c \ |
||||
src/core/support/tls_pthread.c \ |
||||
src/core/support/wrap_memcpy.c \ |
||||
src/core/census/grpc_context.c \ |
||||
src/core/census/grpc_filter.c \ |
||||
src/core/channel/channel_args.c \ |
||||
src/core/channel/channel_stack.c \ |
||||
src/core/channel/client_channel.c \ |
||||
src/core/channel/client_uchannel.c \ |
||||
src/core/channel/compress_filter.c \ |
||||
src/core/channel/connected_channel.c \ |
||||
src/core/channel/http_client_filter.c \ |
||||
src/core/channel/http_server_filter.c \ |
||||
src/core/channel/subchannel_call_holder.c \ |
||||
src/core/client_config/client_config.c \ |
||||
src/core/client_config/connector.c \ |
||||
src/core/client_config/default_initial_connect_string.c \ |
||||
src/core/client_config/initial_connect_string.c \ |
||||
src/core/client_config/lb_policies/load_balancer_api.c \ |
||||
src/core/client_config/lb_policies/pick_first.c \ |
||||
src/core/client_config/lb_policies/round_robin.c \ |
||||
src/core/client_config/lb_policy.c \ |
||||
src/core/client_config/lb_policy_factory.c \ |
||||
src/core/client_config/lb_policy_registry.c \ |
||||
src/core/client_config/resolver.c \ |
||||
src/core/client_config/resolver_factory.c \ |
||||
src/core/client_config/resolver_registry.c \ |
||||
src/core/client_config/resolvers/dns_resolver.c \ |
||||
src/core/client_config/resolvers/sockaddr_resolver.c \ |
||||
src/core/client_config/subchannel.c \ |
||||
src/core/client_config/subchannel_factory.c \ |
||||
src/core/client_config/subchannel_index.c \ |
||||
src/core/client_config/uri_parser.c \ |
||||
src/core/compression/algorithm.c \ |
||||
src/core/compression/message_compress.c \ |
||||
src/core/debug/trace.c \ |
||||
src/core/httpcli/format_request.c \ |
||||
src/core/httpcli/httpcli.c \ |
||||
src/core/httpcli/parser.c \ |
||||
src/core/iomgr/closure.c \ |
||||
src/core/iomgr/endpoint.c \ |
||||
src/core/iomgr/endpoint_pair_posix.c \ |
||||
src/core/iomgr/endpoint_pair_windows.c \ |
||||
src/core/iomgr/exec_ctx.c \ |
||||
src/core/iomgr/executor.c \ |
||||
src/core/iomgr/fd_posix.c \ |
||||
src/core/iomgr/iocp_windows.c \ |
||||
src/core/iomgr/iomgr.c \ |
||||
src/core/iomgr/iomgr_posix.c \ |
||||
src/core/iomgr/iomgr_windows.c \ |
||||
src/core/iomgr/pollset_multipoller_with_epoll.c \ |
||||
src/core/iomgr/pollset_multipoller_with_poll_posix.c \ |
||||
src/core/iomgr/pollset_posix.c \ |
||||
src/core/iomgr/pollset_set_posix.c \ |
||||
src/core/iomgr/pollset_set_windows.c \ |
||||
src/core/iomgr/pollset_windows.c \ |
||||
src/core/iomgr/resolve_address_posix.c \ |
||||
src/core/iomgr/resolve_address_windows.c \ |
||||
src/core/iomgr/sockaddr_utils.c \ |
||||
src/core/iomgr/socket_utils_common_posix.c \ |
||||
src/core/iomgr/socket_utils_linux.c \ |
||||
src/core/iomgr/socket_utils_posix.c \ |
||||
src/core/iomgr/socket_windows.c \ |
||||
src/core/iomgr/tcp_client_posix.c \ |
||||
src/core/iomgr/tcp_client_windows.c \ |
||||
src/core/iomgr/tcp_posix.c \ |
||||
src/core/iomgr/tcp_server_posix.c \ |
||||
src/core/iomgr/tcp_server_windows.c \ |
||||
src/core/iomgr/tcp_windows.c \ |
||||
src/core/iomgr/time_averaged_stats.c \ |
||||
src/core/iomgr/timer.c \ |
||||
src/core/iomgr/timer_heap.c \ |
||||
src/core/iomgr/udp_server.c \ |
||||
src/core/iomgr/wakeup_fd_eventfd.c \ |
||||
src/core/iomgr/wakeup_fd_nospecial.c \ |
||||
src/core/iomgr/wakeup_fd_pipe.c \ |
||||
src/core/iomgr/wakeup_fd_posix.c \ |
||||
src/core/iomgr/workqueue_posix.c \ |
||||
src/core/iomgr/workqueue_windows.c \ |
||||
src/core/json/json.c \ |
||||
src/core/json/json_reader.c \ |
||||
src/core/json/json_string.c \ |
||||
src/core/json/json_writer.c \ |
||||
src/core/proto/grpc/lb/v0/load_balancer.pb.c \ |
||||
src/core/surface/alarm.c \ |
||||
src/core/surface/api_trace.c \ |
||||
src/core/surface/byte_buffer.c \ |
||||
src/core/surface/byte_buffer_reader.c \ |
||||
src/core/surface/call.c \ |
||||
src/core/surface/call_details.c \ |
||||
src/core/surface/call_log_batch.c \ |
||||
src/core/surface/channel.c \ |
||||
src/core/surface/channel_connectivity.c \ |
||||
src/core/surface/channel_create.c \ |
||||
src/core/surface/channel_ping.c \ |
||||
src/core/surface/completion_queue.c \ |
||||
src/core/surface/event_string.c \ |
||||
src/core/surface/init.c \ |
||||
src/core/surface/lame_client.c \ |
||||
src/core/surface/metadata_array.c \ |
||||
src/core/surface/server.c \ |
||||
src/core/surface/server_chttp2.c \ |
||||
src/core/surface/server_create.c \ |
||||
src/core/surface/validate_metadata.c \ |
||||
src/core/surface/version.c \ |
||||
src/core/transport/byte_stream.c \ |
||||
src/core/transport/chttp2/alpn.c \ |
||||
src/core/transport/chttp2/bin_encoder.c \ |
||||
src/core/transport/chttp2/frame_data.c \ |
||||
src/core/transport/chttp2/frame_goaway.c \ |
||||
src/core/transport/chttp2/frame_ping.c \ |
||||
src/core/transport/chttp2/frame_rst_stream.c \ |
||||
src/core/transport/chttp2/frame_settings.c \ |
||||
src/core/transport/chttp2/frame_window_update.c \ |
||||
src/core/transport/chttp2/hpack_encoder.c \ |
||||
src/core/transport/chttp2/hpack_parser.c \ |
||||
src/core/transport/chttp2/hpack_table.c \ |
||||
src/core/transport/chttp2/huffsyms.c \ |
||||
src/core/transport/chttp2/incoming_metadata.c \ |
||||
src/core/transport/chttp2/parsing.c \ |
||||
src/core/transport/chttp2/status_conversion.c \ |
||||
src/core/transport/chttp2/stream_lists.c \ |
||||
src/core/transport/chttp2/stream_map.c \ |
||||
src/core/transport/chttp2/timeout_encoding.c \ |
||||
src/core/transport/chttp2/varint.c \ |
||||
src/core/transport/chttp2/writing.c \ |
||||
src/core/transport/chttp2_transport.c \ |
||||
src/core/transport/connectivity_state.c \ |
||||
src/core/transport/metadata.c \ |
||||
src/core/transport/metadata_batch.c \ |
||||
src/core/transport/static_metadata.c \ |
||||
src/core/transport/transport.c \ |
||||
src/core/transport/transport_op_string.c \ |
||||
src/core/httpcli/httpcli_security_connector.c \ |
||||
src/core/security/base64.c \ |
||||
src/core/security/client_auth_filter.c \ |
||||
src/core/security/credentials.c \ |
||||
src/core/security/credentials_metadata.c \ |
||||
src/core/security/credentials_posix.c \ |
||||
src/core/security/credentials_win32.c \ |
||||
src/core/security/google_default_credentials.c \ |
||||
src/core/security/handshake.c \ |
||||
src/core/security/json_token.c \ |
||||
src/core/security/jwt_verifier.c \ |
||||
src/core/security/secure_endpoint.c \ |
||||
src/core/security/security_connector.c \ |
||||
src/core/security/security_context.c \ |
||||
src/core/security/server_auth_filter.c \ |
||||
src/core/security/server_secure_chttp2.c \ |
||||
src/core/surface/init_secure.c \ |
||||
src/core/surface/secure_channel_create.c \ |
||||
src/core/tsi/fake_transport_security.c \ |
||||
src/core/tsi/ssl_transport_security.c \ |
||||
src/core/tsi/transport_security.c \ |
||||
src/core/census/context.c \ |
||||
src/core/census/initialize.c \ |
||||
src/core/census/mlog.c \ |
||||
src/core/census/operation.c \ |
||||
src/core/census/placeholders.c \ |
||||
src/core/census/tracing.c \ |
||||
third_party/nanopb/pb_common.c \ |
||||
third_party/nanopb/pb_decode.c \ |
||||
third_party/nanopb/pb_encode.c \ |
||||
src/boringssl/err_data.c \ |
||||
third_party/boringssl/crypto/aes/aes.c \ |
||||
third_party/boringssl/crypto/aes/mode_wrappers.c \ |
||||
third_party/boringssl/crypto/asn1/a_bitstr.c \ |
||||
third_party/boringssl/crypto/asn1/a_bool.c \ |
||||
third_party/boringssl/crypto/asn1/a_bytes.c \ |
||||
third_party/boringssl/crypto/asn1/a_d2i_fp.c \ |
||||
third_party/boringssl/crypto/asn1/a_dup.c \ |
||||
third_party/boringssl/crypto/asn1/a_enum.c \ |
||||
third_party/boringssl/crypto/asn1/a_gentm.c \ |
||||
third_party/boringssl/crypto/asn1/a_i2d_fp.c \ |
||||
third_party/boringssl/crypto/asn1/a_int.c \ |
||||
third_party/boringssl/crypto/asn1/a_mbstr.c \ |
||||
third_party/boringssl/crypto/asn1/a_object.c \ |
||||
third_party/boringssl/crypto/asn1/a_octet.c \ |
||||
third_party/boringssl/crypto/asn1/a_print.c \ |
||||
third_party/boringssl/crypto/asn1/a_strnid.c \ |
||||
third_party/boringssl/crypto/asn1/a_time.c \ |
||||
third_party/boringssl/crypto/asn1/a_type.c \ |
||||
third_party/boringssl/crypto/asn1/a_utctm.c \ |
||||
third_party/boringssl/crypto/asn1/a_utf8.c \ |
||||
third_party/boringssl/crypto/asn1/asn1_lib.c \ |
||||
third_party/boringssl/crypto/asn1/asn1_par.c \ |
||||
third_party/boringssl/crypto/asn1/asn_pack.c \ |
||||
third_party/boringssl/crypto/asn1/bio_asn1.c \ |
||||
third_party/boringssl/crypto/asn1/bio_ndef.c \ |
||||
third_party/boringssl/crypto/asn1/f_enum.c \ |
||||
third_party/boringssl/crypto/asn1/f_int.c \ |
||||
third_party/boringssl/crypto/asn1/f_string.c \ |
||||
third_party/boringssl/crypto/asn1/t_bitst.c \ |
||||
third_party/boringssl/crypto/asn1/t_pkey.c \ |
||||
third_party/boringssl/crypto/asn1/tasn_dec.c \ |
||||
third_party/boringssl/crypto/asn1/tasn_enc.c \ |
||||
third_party/boringssl/crypto/asn1/tasn_fre.c \ |
||||
third_party/boringssl/crypto/asn1/tasn_new.c \ |
||||
third_party/boringssl/crypto/asn1/tasn_prn.c \ |
||||
third_party/boringssl/crypto/asn1/tasn_typ.c \ |
||||
third_party/boringssl/crypto/asn1/tasn_utl.c \ |
||||
third_party/boringssl/crypto/asn1/x_bignum.c \ |
||||
third_party/boringssl/crypto/asn1/x_long.c \ |
||||
third_party/boringssl/crypto/base64/base64.c \ |
||||
third_party/boringssl/crypto/bio/bio.c \ |
||||
third_party/boringssl/crypto/bio/bio_mem.c \ |
||||
third_party/boringssl/crypto/bio/buffer.c \ |
||||
third_party/boringssl/crypto/bio/connect.c \ |
||||
third_party/boringssl/crypto/bio/fd.c \ |
||||
third_party/boringssl/crypto/bio/file.c \ |
||||
third_party/boringssl/crypto/bio/hexdump.c \ |
||||
third_party/boringssl/crypto/bio/pair.c \ |
||||
third_party/boringssl/crypto/bio/printf.c \ |
||||
third_party/boringssl/crypto/bio/socket.c \ |
||||
third_party/boringssl/crypto/bio/socket_helper.c \ |
||||
third_party/boringssl/crypto/bn/add.c \ |
||||
third_party/boringssl/crypto/bn/asm/x86_64-gcc.c \ |
||||
third_party/boringssl/crypto/bn/bn.c \ |
||||
third_party/boringssl/crypto/bn/bn_asn1.c \ |
||||
third_party/boringssl/crypto/bn/cmp.c \ |
||||
third_party/boringssl/crypto/bn/convert.c \ |
||||
third_party/boringssl/crypto/bn/ctx.c \ |
||||
third_party/boringssl/crypto/bn/div.c \ |
||||
third_party/boringssl/crypto/bn/exponentiation.c \ |
||||
third_party/boringssl/crypto/bn/gcd.c \ |
||||
third_party/boringssl/crypto/bn/generic.c \ |
||||
third_party/boringssl/crypto/bn/kronecker.c \ |
||||
third_party/boringssl/crypto/bn/montgomery.c \ |
||||
third_party/boringssl/crypto/bn/mul.c \ |
||||
third_party/boringssl/crypto/bn/prime.c \ |
||||
third_party/boringssl/crypto/bn/random.c \ |
||||
third_party/boringssl/crypto/bn/rsaz_exp.c \ |
||||
third_party/boringssl/crypto/bn/shift.c \ |
||||
third_party/boringssl/crypto/bn/sqrt.c \ |
||||
third_party/boringssl/crypto/buf/buf.c \ |
||||
third_party/boringssl/crypto/bytestring/ber.c \ |
||||
third_party/boringssl/crypto/bytestring/cbb.c \ |
||||
third_party/boringssl/crypto/bytestring/cbs.c \ |
||||
third_party/boringssl/crypto/chacha/chacha_generic.c \ |
||||
third_party/boringssl/crypto/chacha/chacha_vec.c \ |
||||
third_party/boringssl/crypto/cipher/aead.c \ |
||||
third_party/boringssl/crypto/cipher/cipher.c \ |
||||
third_party/boringssl/crypto/cipher/derive_key.c \ |
||||
third_party/boringssl/crypto/cipher/e_aes.c \ |
||||
third_party/boringssl/crypto/cipher/e_chacha20poly1305.c \ |
||||
third_party/boringssl/crypto/cipher/e_des.c \ |
||||
third_party/boringssl/crypto/cipher/e_null.c \ |
||||
third_party/boringssl/crypto/cipher/e_rc2.c \ |
||||
third_party/boringssl/crypto/cipher/e_rc4.c \ |
||||
third_party/boringssl/crypto/cipher/e_ssl3.c \ |
||||
third_party/boringssl/crypto/cipher/e_tls.c \ |
||||
third_party/boringssl/crypto/cipher/tls_cbc.c \ |
||||
third_party/boringssl/crypto/cmac/cmac.c \ |
||||
third_party/boringssl/crypto/conf/conf.c \ |
||||
third_party/boringssl/crypto/cpu-arm.c \ |
||||
third_party/boringssl/crypto/cpu-intel.c \ |
||||
third_party/boringssl/crypto/crypto.c \ |
||||
third_party/boringssl/crypto/curve25519/curve25519.c \ |
||||
third_party/boringssl/crypto/des/des.c \ |
||||
third_party/boringssl/crypto/dh/check.c \ |
||||
third_party/boringssl/crypto/dh/dh.c \ |
||||
third_party/boringssl/crypto/dh/dh_asn1.c \ |
||||
third_party/boringssl/crypto/dh/params.c \ |
||||
third_party/boringssl/crypto/digest/digest.c \ |
||||
third_party/boringssl/crypto/digest/digests.c \ |
||||
third_party/boringssl/crypto/directory_posix.c \ |
||||
third_party/boringssl/crypto/directory_win.c \ |
||||
third_party/boringssl/crypto/dsa/dsa.c \ |
||||
third_party/boringssl/crypto/dsa/dsa_asn1.c \ |
||||
third_party/boringssl/crypto/ec/ec.c \ |
||||
third_party/boringssl/crypto/ec/ec_asn1.c \ |
||||
third_party/boringssl/crypto/ec/ec_key.c \ |
||||
third_party/boringssl/crypto/ec/ec_montgomery.c \ |
||||
third_party/boringssl/crypto/ec/oct.c \ |
||||
third_party/boringssl/crypto/ec/p224-64.c \ |
||||
third_party/boringssl/crypto/ec/p256-64.c \ |
||||
third_party/boringssl/crypto/ec/p256-x86_64.c \ |
||||
third_party/boringssl/crypto/ec/simple.c \ |
||||
third_party/boringssl/crypto/ec/util-64.c \ |
||||
third_party/boringssl/crypto/ec/wnaf.c \ |
||||
third_party/boringssl/crypto/ecdh/ecdh.c \ |
||||
third_party/boringssl/crypto/ecdsa/ecdsa.c \ |
||||
third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c \ |
||||
third_party/boringssl/crypto/engine/engine.c \ |
||||
third_party/boringssl/crypto/err/err.c \ |
||||
third_party/boringssl/crypto/evp/algorithm.c \ |
||||
third_party/boringssl/crypto/evp/digestsign.c \ |
||||
third_party/boringssl/crypto/evp/evp.c \ |
||||
third_party/boringssl/crypto/evp/evp_asn1.c \ |
||||
third_party/boringssl/crypto/evp/evp_ctx.c \ |
||||
third_party/boringssl/crypto/evp/p_dsa_asn1.c \ |
||||
third_party/boringssl/crypto/evp/p_ec.c \ |
||||
third_party/boringssl/crypto/evp/p_ec_asn1.c \ |
||||
third_party/boringssl/crypto/evp/p_rsa.c \ |
||||
third_party/boringssl/crypto/evp/p_rsa_asn1.c \ |
||||
third_party/boringssl/crypto/evp/pbkdf.c \ |
||||
third_party/boringssl/crypto/evp/sign.c \ |
||||
third_party/boringssl/crypto/ex_data.c \ |
||||
third_party/boringssl/crypto/hkdf/hkdf.c \ |
||||
third_party/boringssl/crypto/hmac/hmac.c \ |
||||
third_party/boringssl/crypto/lhash/lhash.c \ |
||||
third_party/boringssl/crypto/md4/md4.c \ |
||||
third_party/boringssl/crypto/md5/md5.c \ |
||||
third_party/boringssl/crypto/mem.c \ |
||||
third_party/boringssl/crypto/modes/cbc.c \ |
||||
third_party/boringssl/crypto/modes/cfb.c \ |
||||
third_party/boringssl/crypto/modes/ctr.c \ |
||||
third_party/boringssl/crypto/modes/gcm.c \ |
||||
third_party/boringssl/crypto/modes/ofb.c \ |
||||
third_party/boringssl/crypto/obj/obj.c \ |
||||
third_party/boringssl/crypto/obj/obj_xref.c \ |
||||
third_party/boringssl/crypto/pem/pem_all.c \ |
||||
third_party/boringssl/crypto/pem/pem_info.c \ |
||||
third_party/boringssl/crypto/pem/pem_lib.c \ |
||||
third_party/boringssl/crypto/pem/pem_oth.c \ |
||||
third_party/boringssl/crypto/pem/pem_pk8.c \ |
||||
third_party/boringssl/crypto/pem/pem_pkey.c \ |
||||
third_party/boringssl/crypto/pem/pem_x509.c \ |
||||
third_party/boringssl/crypto/pem/pem_xaux.c \ |
||||
third_party/boringssl/crypto/pkcs8/p5_pbe.c \ |
||||
third_party/boringssl/crypto/pkcs8/p5_pbev2.c \ |
||||
third_party/boringssl/crypto/pkcs8/p8_pkey.c \ |
||||
third_party/boringssl/crypto/pkcs8/pkcs8.c \ |
||||
third_party/boringssl/crypto/poly1305/poly1305.c \ |
||||
third_party/boringssl/crypto/poly1305/poly1305_arm.c \ |
||||
third_party/boringssl/crypto/poly1305/poly1305_vec.c \ |
||||
third_party/boringssl/crypto/rand/rand.c \ |
||||
third_party/boringssl/crypto/rand/urandom.c \ |
||||
third_party/boringssl/crypto/rand/windows.c \ |
||||
third_party/boringssl/crypto/rc4/rc4.c \ |
||||
third_party/boringssl/crypto/refcount_c11.c \ |
||||
third_party/boringssl/crypto/refcount_lock.c \ |
||||
third_party/boringssl/crypto/rsa/blinding.c \ |
||||
third_party/boringssl/crypto/rsa/padding.c \ |
||||
third_party/boringssl/crypto/rsa/rsa.c \ |
||||
third_party/boringssl/crypto/rsa/rsa_asn1.c \ |
||||
third_party/boringssl/crypto/rsa/rsa_impl.c \ |
||||
third_party/boringssl/crypto/sha/sha1.c \ |
||||
third_party/boringssl/crypto/sha/sha256.c \ |
||||
third_party/boringssl/crypto/sha/sha512.c \ |
||||
third_party/boringssl/crypto/stack/stack.c \ |
||||
third_party/boringssl/crypto/thread.c \ |
||||
third_party/boringssl/crypto/thread_none.c \ |
||||
third_party/boringssl/crypto/thread_pthread.c \ |
||||
third_party/boringssl/crypto/thread_win.c \ |
||||
third_party/boringssl/crypto/time_support.c \ |
||||
third_party/boringssl/crypto/x509/a_digest.c \ |
||||
third_party/boringssl/crypto/x509/a_sign.c \ |
||||
third_party/boringssl/crypto/x509/a_strex.c \ |
||||
third_party/boringssl/crypto/x509/a_verify.c \ |
||||
third_party/boringssl/crypto/x509/asn1_gen.c \ |
||||
third_party/boringssl/crypto/x509/by_dir.c \ |
||||
third_party/boringssl/crypto/x509/by_file.c \ |
||||
third_party/boringssl/crypto/x509/i2d_pr.c \ |
||||
third_party/boringssl/crypto/x509/pkcs7.c \ |
||||
third_party/boringssl/crypto/x509/t_crl.c \ |
||||
third_party/boringssl/crypto/x509/t_req.c \ |
||||
third_party/boringssl/crypto/x509/t_x509.c \ |
||||
third_party/boringssl/crypto/x509/t_x509a.c \ |
||||
third_party/boringssl/crypto/x509/x509.c \ |
||||
third_party/boringssl/crypto/x509/x509_att.c \ |
||||
third_party/boringssl/crypto/x509/x509_cmp.c \ |
||||
third_party/boringssl/crypto/x509/x509_d2.c \ |
||||
third_party/boringssl/crypto/x509/x509_def.c \ |
||||
third_party/boringssl/crypto/x509/x509_ext.c \ |
||||
third_party/boringssl/crypto/x509/x509_lu.c \ |
||||
third_party/boringssl/crypto/x509/x509_obj.c \ |
||||
third_party/boringssl/crypto/x509/x509_r2x.c \ |
||||
third_party/boringssl/crypto/x509/x509_req.c \ |
||||
third_party/boringssl/crypto/x509/x509_set.c \ |
||||
third_party/boringssl/crypto/x509/x509_trs.c \ |
||||
third_party/boringssl/crypto/x509/x509_txt.c \ |
||||
third_party/boringssl/crypto/x509/x509_v3.c \ |
||||
third_party/boringssl/crypto/x509/x509_vfy.c \ |
||||
third_party/boringssl/crypto/x509/x509_vpm.c \ |
||||
third_party/boringssl/crypto/x509/x509cset.c \ |
||||
third_party/boringssl/crypto/x509/x509name.c \ |
||||
third_party/boringssl/crypto/x509/x509rset.c \ |
||||
third_party/boringssl/crypto/x509/x509spki.c \ |
||||
third_party/boringssl/crypto/x509/x509type.c \ |
||||
third_party/boringssl/crypto/x509/x_algor.c \ |
||||
third_party/boringssl/crypto/x509/x_all.c \ |
||||
third_party/boringssl/crypto/x509/x_attrib.c \ |
||||
third_party/boringssl/crypto/x509/x_crl.c \ |
||||
third_party/boringssl/crypto/x509/x_exten.c \ |
||||
third_party/boringssl/crypto/x509/x_info.c \ |
||||
third_party/boringssl/crypto/x509/x_name.c \ |
||||
third_party/boringssl/crypto/x509/x_pkey.c \ |
||||
third_party/boringssl/crypto/x509/x_pubkey.c \ |
||||
third_party/boringssl/crypto/x509/x_req.c \ |
||||
third_party/boringssl/crypto/x509/x_sig.c \ |
||||
third_party/boringssl/crypto/x509/x_spki.c \ |
||||
third_party/boringssl/crypto/x509/x_val.c \ |
||||
third_party/boringssl/crypto/x509/x_x509.c \ |
||||
third_party/boringssl/crypto/x509/x_x509a.c \ |
||||
third_party/boringssl/crypto/x509v3/pcy_cache.c \ |
||||
third_party/boringssl/crypto/x509v3/pcy_data.c \ |
||||
third_party/boringssl/crypto/x509v3/pcy_lib.c \ |
||||
third_party/boringssl/crypto/x509v3/pcy_map.c \ |
||||
third_party/boringssl/crypto/x509v3/pcy_node.c \ |
||||
third_party/boringssl/crypto/x509v3/pcy_tree.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_akey.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_akeya.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_alt.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_bcons.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_bitst.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_conf.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_cpols.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_crld.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_enum.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_extku.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_genn.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_ia5.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_info.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_int.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_lib.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_ncons.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_pci.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_pcia.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_pcons.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_pku.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_pmaps.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_prn.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_purp.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_skey.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_sxnet.c \ |
||||
third_party/boringssl/crypto/x509v3/v3_utl.c \ |
||||
third_party/boringssl/ssl/custom_extensions.c \ |
||||
third_party/boringssl/ssl/d1_both.c \ |
||||
third_party/boringssl/ssl/d1_clnt.c \ |
||||
third_party/boringssl/ssl/d1_lib.c \ |
||||
third_party/boringssl/ssl/d1_meth.c \ |
||||
third_party/boringssl/ssl/d1_pkt.c \ |
||||
third_party/boringssl/ssl/d1_srtp.c \ |
||||
third_party/boringssl/ssl/d1_srvr.c \ |
||||
third_party/boringssl/ssl/dtls_record.c \ |
||||
third_party/boringssl/ssl/pqueue/pqueue.c \ |
||||
third_party/boringssl/ssl/s3_both.c \ |
||||
third_party/boringssl/ssl/s3_clnt.c \ |
||||
third_party/boringssl/ssl/s3_enc.c \ |
||||
third_party/boringssl/ssl/s3_lib.c \ |
||||
third_party/boringssl/ssl/s3_meth.c \ |
||||
third_party/boringssl/ssl/s3_pkt.c \ |
||||
third_party/boringssl/ssl/s3_srvr.c \ |
||||
third_party/boringssl/ssl/ssl_aead_ctx.c \ |
||||
third_party/boringssl/ssl/ssl_asn1.c \ |
||||
third_party/boringssl/ssl/ssl_buffer.c \ |
||||
third_party/boringssl/ssl/ssl_cert.c \ |
||||
third_party/boringssl/ssl/ssl_cipher.c \ |
||||
third_party/boringssl/ssl/ssl_file.c \ |
||||
third_party/boringssl/ssl/ssl_lib.c \ |
||||
third_party/boringssl/ssl/ssl_rsa.c \ |
||||
third_party/boringssl/ssl/ssl_session.c \ |
||||
third_party/boringssl/ssl/ssl_stat.c \ |
||||
third_party/boringssl/ssl/t1_enc.c \ |
||||
third_party/boringssl/ssl/t1_lib.c \ |
||||
third_party/boringssl/ssl/tls_record.c \ |
||||
third_party/zlib/adler32.c \ |
||||
third_party/zlib/compress.c \ |
||||
third_party/zlib/crc32.c \ |
||||
third_party/zlib/deflate.c \ |
||||
third_party/zlib/gzclose.c \ |
||||
third_party/zlib/gzlib.c \ |
||||
third_party/zlib/gzread.c \ |
||||
third_party/zlib/gzwrite.c \ |
||||
third_party/zlib/infback.c \ |
||||
third_party/zlib/inffast.c \ |
||||
third_party/zlib/inflate.c \ |
||||
third_party/zlib/inftrees.c \ |
||||
third_party/zlib/trees.c \ |
||||
third_party/zlib/uncompr.c \ |
||||
third_party/zlib/zutil.c \ |
||||
, $ext_shared, , -Wall -Werror -std=c11 \ |
||||
-fvisibility=hidden -DOPENSSL_NO_ASM -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN \ |
||||
-D_HAS_EXCEPTIONS=0 -DNOMINMAX) |
||||
fi |
@ -0,0 +1,998 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<package packagerversion="1.9.5" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> |
||||
<name>grpc</name> |
||||
<channel>pecl.php.net</channel> |
||||
<summary>A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.</summary> |
||||
<description>Remote Procedure Calls (RPCs) provide a useful abstraction for building distributed applications and services. The libraries in this repository provide a concrete implementation of the gRPC protocol, layered over HTTP/2. These libraries enable communication between clients and servers using any combination of the supported languages.</description> |
||||
<lead> |
||||
<name>Stanley Cheung</name> |
||||
<user>stanleycheung</user> |
||||
<email>grpc-packages@google.com</email> |
||||
<active>yes</active> |
||||
</lead> |
||||
<date>2016-02-23</date> |
||||
<time>16:06:07</time> |
||||
<version> |
||||
<release>0.8.0</release> |
||||
<api>0.8.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- Simplify gRPC PHP installation #4517 |
||||
</notes> |
||||
<contents> |
||||
<dir baseinstalldir="/" name="/"> |
||||
<file baseinstalldir="/" name="config.m4" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/CREDITS" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/LICENSE" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/README.md" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/byte_buffer.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/call.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/call_credentials.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/channel.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/channel_credentials.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/completion_queue.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/php_grpc.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/server.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/server_credentials.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/timeval.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/byte_buffer.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/call.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/call_credentials.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/channel.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/channel_credentials.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/completion_queue.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/php_grpc.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/server.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/server_credentials.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/timeval.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/alloc.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/atm.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/atm_gcc_atomic.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/atm_gcc_sync.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/atm_win32.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/avl.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/cmdline.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/cpu.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/histogram.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/host_port.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/log.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/log_win32.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/port_platform.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/slice.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/slice_buffer.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/string_util.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/subprocess.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/sync.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/sync_generic.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/sync_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/sync_win32.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/thd.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/time.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/tls.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/tls_gcc.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/tls_msvc.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/tls_pthread.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/support/useful.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/alloc.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/atm.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/atm_gcc_atomic.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/atm_gcc_sync.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/atm_win32.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/log.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/port_platform.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/slice.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/slice_buffer.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/sync.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/sync_generic.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/sync_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/sync_win32.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/time.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/profiling/timers.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/block_annotate.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/env.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/file.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/murmur_hash.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/stack_lockfree.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/string.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/string_win32.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/thd_internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/time_precise.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/profiling/basic_timers.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/profiling/stap_timers.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/alloc.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/avl.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/cmdline.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/cpu_iphone.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/cpu_linux.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/cpu_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/cpu_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/env_linux.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/env_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/env_win32.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/file.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/file_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/file_win32.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/histogram.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/host_port.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/log.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/log_android.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/log_linux.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/log_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/log_win32.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/murmur_hash.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/slice.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/slice_buffer.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/stack_lockfree.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/string.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/string_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/string_win32.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/subprocess_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/subprocess_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/sync.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/sync_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/sync_win32.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/thd.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/thd_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/thd_win32.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/time.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/time_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/time_precise.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/time_win32.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/tls_pthread.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/support/wrap_memcpy.c" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/grpc_security.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/byte_buffer.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/compression_types.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/connectivity_state.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/grpc_types.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/propagation_bits.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/impl/codegen/status.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/byte_buffer.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/byte_buffer_reader.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/compression.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/grpc.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/status.h" role="src" /> |
||||
<file baseinstalldir="/" name="include/grpc/census.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/grpc_filter.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/channel_args.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/channel_stack.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/client_channel.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/client_uchannel.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/compress_filter.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/connected_channel.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/context.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/http_client_filter.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/http_server_filter.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/subchannel_call_holder.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/client_config.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/connector.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/initial_connect_string.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policies/load_balancer_api.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policies/pick_first.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policies/round_robin.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policy.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policy_factory.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policy_registry.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolver.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolver_factory.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolver_registry.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolvers/dns_resolver.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolvers/sockaddr_resolver.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/subchannel.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/subchannel_factory.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/subchannel_index.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/uri_parser.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/compression/algorithm_metadata.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/compression/message_compress.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/debug/trace.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/httpcli/format_request.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/httpcli/httpcli.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/httpcli/parser.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/closure.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/endpoint.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/endpoint_pair.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/exec_ctx.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/executor.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/fd_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/iocp_windows.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/iomgr.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/iomgr_internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/iomgr_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_set.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_set_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_set_windows.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_windows.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/resolve_address.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/sockaddr.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/sockaddr_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/sockaddr_utils.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/sockaddr_win32.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/socket_utils_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/socket_windows.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_client.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_server.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_windows.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/time_averaged_stats.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/timer.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/timer_heap.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/udp_server.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_pipe.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/workqueue.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/workqueue_posix.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/workqueue_windows.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/json/json.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/json/json_common.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/json/json_reader.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/json/json_writer.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/proto/grpc/lb/v0/load_balancer.pb.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/statistics/census_interface.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/statistics/census_rpc_stats.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/api_trace.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/call.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/call_test_only.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/channel.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/completion_queue.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/event_string.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/init.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/server.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/surface_trace.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/byte_stream.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/alpn.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/bin_encoder.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_data.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_goaway.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_ping.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_rst_stream.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_settings.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_window_update.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/hpack_encoder.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/hpack_parser.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/hpack_table.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/http2_errors.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/huffsyms.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/incoming_metadata.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/status_conversion.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/stream_map.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/timeout_encoding.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/varint.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2_transport.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/connectivity_state.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/metadata.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/metadata_batch.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/static_metadata.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/transport.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/transport_impl.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/auth_filters.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/base64.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/credentials.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/handshake.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/json_token.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/jwt_verifier.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/secure_endpoint.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/security_connector.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/security_context.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/tsi/fake_transport_security.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/tsi/ssl_transport_security.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/tsi/ssl_types.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/tsi/transport_security.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/tsi/transport_security_interface.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/aggregation.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/mlog.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/rpc_metric_id.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/nanopb/pb.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/nanopb/pb_common.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/nanopb/pb_decode.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/nanopb/pb_encode.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/grpc_context.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/grpc_filter.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/channel_args.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/channel_stack.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/client_channel.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/client_uchannel.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/compress_filter.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/connected_channel.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/http_client_filter.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/http_server_filter.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/channel/subchannel_call_holder.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/client_config.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/connector.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/default_initial_connect_string.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/initial_connect_string.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policies/load_balancer_api.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policies/pick_first.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policies/round_robin.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policy.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policy_factory.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/lb_policy_registry.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolver.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolver_factory.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolver_registry.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolvers/dns_resolver.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/resolvers/sockaddr_resolver.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/subchannel.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/subchannel_factory.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/subchannel_index.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/client_config/uri_parser.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/compression/algorithm.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/compression/message_compress.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/debug/trace.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/httpcli/format_request.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/httpcli/httpcli.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/httpcli/parser.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/closure.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/endpoint.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/endpoint_pair_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/endpoint_pair_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/exec_ctx.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/executor.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/fd_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/iocp_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/iomgr.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/iomgr_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/iomgr_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_multipoller_with_epoll.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_multipoller_with_poll_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_set_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_set_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/pollset_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/resolve_address_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/resolve_address_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/sockaddr_utils.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/socket_utils_common_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/socket_utils_linux.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/socket_utils_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/socket_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_client_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_client_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_server_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_server_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/tcp_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/time_averaged_stats.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/timer.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/timer_heap.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/udp_server.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_eventfd.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_nospecial.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_pipe.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/wakeup_fd_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/workqueue_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/iomgr/workqueue_windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/json/json.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/json/json_reader.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/json/json_string.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/json/json_writer.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/proto/grpc/lb/v0/load_balancer.pb.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/alarm.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/api_trace.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/byte_buffer.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/byte_buffer_reader.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/call.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/call_details.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/call_log_batch.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/channel.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/channel_connectivity.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/channel_create.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/channel_ping.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/completion_queue.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/event_string.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/init.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/lame_client.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/metadata_array.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/server.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/server_chttp2.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/server_create.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/validate_metadata.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/version.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/byte_stream.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/alpn.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/bin_encoder.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_data.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_goaway.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_ping.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_rst_stream.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_settings.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/frame_window_update.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/hpack_encoder.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/hpack_parser.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/hpack_table.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/huffsyms.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/incoming_metadata.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/parsing.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/status_conversion.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/stream_lists.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/stream_map.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/timeout_encoding.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/varint.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2/writing.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/chttp2_transport.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/connectivity_state.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/metadata.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/metadata_batch.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/static_metadata.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/transport.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/transport/transport_op_string.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/httpcli/httpcli_security_connector.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/base64.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/client_auth_filter.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/credentials.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/credentials_metadata.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/credentials_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/credentials_win32.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/google_default_credentials.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/handshake.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/json_token.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/jwt_verifier.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/secure_endpoint.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/security_connector.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/security_context.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/server_auth_filter.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/security/server_secure_chttp2.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/init_secure.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/surface/secure_channel_create.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/tsi/fake_transport_security.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/tsi/ssl_transport_security.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/tsi/transport_security.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/context.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/initialize.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/mlog.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/operation.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/placeholders.c" role="src" /> |
||||
<file baseinstalldir="/" name="src/core/census/tracing.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/nanopb/pb_common.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/nanopb/pb_decode.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/nanopb/pb_encode.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/aes/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/asn1_locl.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/rsaz_exp.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bytestring/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/conf/conf_def.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/conf/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/des/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/dh/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/digest/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/digest/md32_common.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/directory.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/dsa/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/p256-x86_64-table.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/modes/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/obj/obj_dat.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/obj/obj_xref.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pkcs8/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rand/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rsa/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/test/scoped_types.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/test/test_util.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/charmap.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/vpm_int.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/ext_dat.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/pcy_int.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/aead.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/aes.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/arm_arch.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/asn1.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/asn1_mac.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/asn1t.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/base.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/base64.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/bio.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/blowfish.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/bn.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/buf.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/buffer.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/bytestring.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/cast.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/chacha.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/cipher.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/cmac.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/conf.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/cpu.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/crypto.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/curve25519.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/des.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/dh.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/digest.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/dsa.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/dtls1.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/ec.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/ec_key.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/ecdh.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/ecdsa.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/engine.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/err.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/evp.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/ex_data.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/hkdf.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/hmac.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/lhash.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/lhash_macros.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/md4.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/md5.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/mem.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/obj.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/obj_mac.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/objects.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/opensslfeatures.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/opensslv.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/ossl_typ.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/pem.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/pkcs12.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/pkcs7.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/pkcs8.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/poly1305.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/pqueue.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/rand.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/rc4.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/rsa.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/safestack.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/sha.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/srtp.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/ssl.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/ssl3.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/stack.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/stack_macros.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/thread.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/time_support.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/tls1.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/type_check.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/x509.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/x509_vfy.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/include/openssl/x509v3.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/internal.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/test/async_bio.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/test/packeted_bio.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/test/scoped_types.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/test/test_config.h" role="src" /> |
||||
<file baseinstalldir="/" name="src/boringssl/err_data.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/aes/aes.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/aes/mode_wrappers.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_bitstr.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_bool.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_bytes.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_d2i_fp.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_dup.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_enum.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_gentm.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_i2d_fp.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_int.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_mbstr.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_object.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_octet.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_print.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_strnid.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_time.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_type.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_utctm.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/a_utf8.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/asn1_lib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/asn1_par.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/asn_pack.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/bio_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/bio_ndef.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/f_enum.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/f_int.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/f_string.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/t_bitst.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/t_pkey.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/tasn_dec.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/tasn_enc.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/tasn_fre.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/tasn_new.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/tasn_prn.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/tasn_typ.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/tasn_utl.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/x_bignum.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/asn1/x_long.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/base64/base64.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/bio.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/bio_mem.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/buffer.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/connect.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/fd.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/file.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/hexdump.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/pair.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/printf.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/socket.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bio/socket_helper.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/add.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/asm/x86_64-gcc.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/bn.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/bn_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/cmp.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/convert.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/ctx.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/div.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/exponentiation.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/gcd.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/generic.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/kronecker.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/montgomery.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/mul.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/prime.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/random.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/rsaz_exp.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/shift.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bn/sqrt.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/buf/buf.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bytestring/ber.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bytestring/cbb.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/bytestring/cbs.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/chacha/chacha_generic.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/chacha/chacha_vec.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/aead.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/cipher.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/derive_key.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/e_aes.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/e_chacha20poly1305.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/e_des.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/e_null.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/e_rc2.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/e_rc4.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/e_ssl3.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/e_tls.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cipher/tls_cbc.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cmac/cmac.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/conf/conf.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cpu-arm.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/cpu-intel.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/crypto.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/curve25519/curve25519.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/des/des.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/dh/check.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/dh/dh.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/dh/dh_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/dh/params.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/digest/digest.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/digest/digests.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/directory_posix.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/directory_win.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/dsa/dsa.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/dsa/dsa_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/ec.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/ec_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/ec_key.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/ec_montgomery.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/oct.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/p224-64.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/p256-64.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/p256-x86_64.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/simple.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/util-64.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ec/wnaf.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ecdh/ecdh.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ecdsa/ecdsa.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/engine/engine.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/err/err.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/algorithm.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/digestsign.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/evp.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/evp_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/evp_ctx.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/p_dsa_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/p_ec.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/p_ec_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/p_rsa.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/p_rsa_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/pbkdf.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/evp/sign.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/ex_data.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/hkdf/hkdf.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/hmac/hmac.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/lhash/lhash.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/md4/md4.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/md5/md5.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/mem.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/modes/cbc.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/modes/cfb.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/modes/ctr.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/modes/gcm.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/modes/ofb.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/obj/obj.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/obj/obj_xref.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pem/pem_all.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pem/pem_info.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pem/pem_lib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pem/pem_oth.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pem/pem_pk8.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pem/pem_pkey.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pem/pem_x509.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pem/pem_xaux.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pkcs8/p5_pbe.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pkcs8/p5_pbev2.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pkcs8/p8_pkey.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/pkcs8/pkcs8.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/poly1305/poly1305.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/poly1305/poly1305_arm.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/poly1305/poly1305_vec.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rand/rand.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rand/urandom.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rand/windows.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rc4/rc4.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/refcount_c11.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/refcount_lock.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rsa/blinding.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rsa/padding.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rsa/rsa.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rsa/rsa_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/rsa/rsa_impl.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/sha/sha1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/sha/sha256.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/sha/sha512.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/stack/stack.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/thread.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/thread_none.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/thread_pthread.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/thread_win.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/time_support.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/a_digest.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/a_sign.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/a_strex.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/a_verify.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/asn1_gen.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/by_dir.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/by_file.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/i2d_pr.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/pkcs7.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/t_crl.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/t_req.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/t_x509.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/t_x509a.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_att.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_cmp.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_d2.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_def.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_ext.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_lu.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_obj.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_r2x.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_req.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_set.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_trs.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_txt.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_v3.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_vfy.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509_vpm.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509cset.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509name.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509rset.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509spki.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x509type.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_algor.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_all.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_attrib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_crl.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_exten.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_info.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_name.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_pkey.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_pubkey.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_req.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_sig.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_spki.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_val.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_x509.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509/x_x509a.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/pcy_cache.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/pcy_data.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/pcy_lib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/pcy_map.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/pcy_node.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/pcy_tree.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_akey.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_akeya.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_alt.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_bcons.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_bitst.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_conf.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_cpols.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_crld.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_enum.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_extku.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_genn.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_ia5.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_info.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_int.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_lib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_ncons.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_pci.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_pcia.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_pcons.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_pku.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_pmaps.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_prn.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_purp.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_skey.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_sxnet.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/crypto/x509v3/v3_utl.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/custom_extensions.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/d1_both.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/d1_clnt.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/d1_lib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/d1_meth.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/d1_pkt.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/d1_srtp.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/d1_srvr.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/dtls_record.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/pqueue/pqueue.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/s3_both.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/s3_clnt.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/s3_enc.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/s3_lib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/s3_meth.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/s3_pkt.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/s3_srvr.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_aead_ctx.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_asn1.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_buffer.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_cert.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_cipher.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_file.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_lib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_rsa.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_session.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/ssl_stat.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/t1_enc.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/t1_lib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/boringssl/ssl/tls_record.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/crc32.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/deflate.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/gzguts.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/inffast.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/inffixed.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/inflate.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/inftrees.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/trees.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/zconf.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/zlib.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/zutil.h" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/adler32.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/compress.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/crc32.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/deflate.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/gzclose.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/gzlib.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/gzread.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/gzwrite.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/infback.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/inffast.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/inflate.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/inftrees.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/trees.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/uncompr.c" role="src" /> |
||||
<file baseinstalldir="/" name="third_party/zlib/zutil.c" role="src" /> |
||||
</dir> |
||||
</contents> |
||||
<dependencies> |
||||
<required> |
||||
<php> |
||||
<min>5.5.0</min> |
||||
</php> |
||||
<pearinstaller> |
||||
<min>1.4.0</min> |
||||
</pearinstaller> |
||||
</required> |
||||
</dependencies> |
||||
<providesextension>grpc</providesextension> |
||||
<extsrcrelease /> |
||||
<changelog> |
||||
<release> |
||||
<version> |
||||
<release>0.5.0</release> |
||||
<api>0.5.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>alpha</release> |
||||
<api>alpha</api> |
||||
</stability> |
||||
<date>2015-06-16</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
First alpha release |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.5.1</release> |
||||
<api>0.5.1</api> |
||||
</version> |
||||
<stability> |
||||
<release>alpha</release> |
||||
<api>alpha</api> |
||||
</stability> |
||||
<date>2015-07-09</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
Update to wrap gRPC C Core version 0.10.0 |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.6.0</release> |
||||
<api>0.6.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<date>2015-09-24</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- support per message compression disable |
||||
- expose per-call host override option |
||||
- expose connectivity API |
||||
- expose channel target and call peer |
||||
- add user-agent |
||||
- update to wrap gRPC C core library beta version 0.11.0 |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.6.1</release> |
||||
<api>0.6.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<date>2015-10-21</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- fixed undefined constant fatal error when run with apache/nginx #2275 |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.7.0</release> |
||||
<api>0.7.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<date>2016-01-13</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- Breaking change to Credentials class (removed) #3765 |
||||
- Replaced by ChannelCredentials and CallCredentials class #3765 |
||||
- New plugin based metadata auth API #4394 |
||||
- Explicit ChannelCredentials::createInsecure() call |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.8.0</release> |
||||
<api>0.8.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<date>2016-02-23</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- Simplify gRPC PHP installation #4517 |
||||
</notes> |
||||
</release> |
||||
</changelog> |
||||
</package> |
@ -0,0 +1,163 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#include "src/core/client_config/lb_policies/load_balancer_api.h" |
||||
#include "third_party/nanopb/pb_decode.h" |
||||
#include "third_party/nanopb/pb_encode.h" |
||||
|
||||
#include <grpc/support/alloc.h> |
||||
|
||||
typedef struct decode_serverlist_arg { |
||||
int first_pass; |
||||
int i; |
||||
size_t num_servers; |
||||
grpc_grpclb_server **servers; |
||||
} decode_serverlist_arg; |
||||
|
||||
/* invoked once for every Server in ServerList */ |
||||
static bool decode_serverlist(pb_istream_t *stream, const pb_field_t *field, |
||||
void **arg) { |
||||
decode_serverlist_arg *dec_arg = *arg; |
||||
if (dec_arg->first_pass != 0) { /* first pass */ |
||||
grpc_grpclb_server server; |
||||
if (!pb_decode(stream, grpc_lb_v0_Server_fields, &server)) { |
||||
return false; |
||||
} |
||||
dec_arg->num_servers++; |
||||
} else { /* second pass */ |
||||
grpc_grpclb_server *server = gpr_malloc(sizeof(grpc_grpclb_server)); |
||||
GPR_ASSERT(dec_arg->num_servers > 0); |
||||
if (dec_arg->i == 0) { /* first iteration of second pass */ |
||||
dec_arg->servers = |
||||
gpr_malloc(sizeof(grpc_grpclb_server *) * dec_arg->num_servers); |
||||
} |
||||
if (!pb_decode(stream, grpc_lb_v0_Server_fields, server)) { |
||||
return false; |
||||
} |
||||
dec_arg->servers[dec_arg->i++] = server; |
||||
} |
||||
|
||||
return true; |
||||
} |
||||
|
||||
grpc_grpclb_request *grpc_grpclb_request_create(const char *lb_service_name) { |
||||
grpc_grpclb_request *req = gpr_malloc(sizeof(grpc_grpclb_request)); |
||||
|
||||
req->has_client_stats = 0; /* TODO(dgq): add support for stats once defined */ |
||||
req->has_initial_request = 1; |
||||
req->initial_request.has_name = 1; |
||||
strncpy(req->initial_request.name, lb_service_name, |
||||
GRPC_GRPCLB_SERVICE_NAME_MAX_LENGTH); |
||||
return req; |
||||
} |
||||
|
||||
gpr_slice grpc_grpclb_request_encode(const grpc_grpclb_request *request) { |
||||
size_t encoded_length; |
||||
pb_ostream_t sizestream; |
||||
pb_ostream_t outputstream; |
||||
gpr_slice slice; |
||||
memset(&sizestream, 0, sizeof(pb_ostream_t)); |
||||
pb_encode(&sizestream, grpc_lb_v0_LoadBalanceRequest_fields, request); |
||||
encoded_length = sizestream.bytes_written; |
||||
|
||||
slice = gpr_slice_malloc(encoded_length); |
||||
outputstream = |
||||
pb_ostream_from_buffer(GPR_SLICE_START_PTR(slice), encoded_length); |
||||
GPR_ASSERT(pb_encode(&outputstream, grpc_lb_v0_LoadBalanceRequest_fields, |
||||
request) != 0); |
||||
return slice; |
||||
} |
||||
|
||||
void grpc_grpclb_request_destroy(grpc_grpclb_request *request) { |
||||
gpr_free(request); |
||||
} |
||||
|
||||
grpc_grpclb_response *grpc_grpclb_response_parse(gpr_slice encoded_response) { |
||||
bool status; |
||||
pb_istream_t stream = |
||||
pb_istream_from_buffer(GPR_SLICE_START_PTR(encoded_response), |
||||
GPR_SLICE_LENGTH(encoded_response)); |
||||
grpc_grpclb_response *res = gpr_malloc(sizeof(grpc_grpclb_response)); |
||||
memset(res, 0, sizeof(*res)); |
||||
status = pb_decode(&stream, grpc_lb_v0_LoadBalanceResponse_fields, res); |
||||
GPR_ASSERT(status == true); |
||||
return res; |
||||
} |
||||
|
||||
grpc_grpclb_serverlist *grpc_grpclb_response_parse_serverlist( |
||||
gpr_slice encoded_response) { |
||||
grpc_grpclb_serverlist *sl = gpr_malloc(sizeof(grpc_grpclb_serverlist)); |
||||
bool status; |
||||
decode_serverlist_arg arg; |
||||
pb_istream_t stream = |
||||
pb_istream_from_buffer(GPR_SLICE_START_PTR(encoded_response), |
||||
GPR_SLICE_LENGTH(encoded_response)); |
||||
pb_istream_t stream_at_start = stream; |
||||
grpc_grpclb_response *res = gpr_malloc(sizeof(grpc_grpclb_response)); |
||||
memset(res, 0, sizeof(*res)); |
||||
memset(&arg, 0, sizeof(decode_serverlist_arg)); |
||||
|
||||
res->server_list.servers.funcs.decode = decode_serverlist; |
||||
res->server_list.servers.arg = &arg; |
||||
arg.first_pass = 1; |
||||
status = pb_decode(&stream, grpc_lb_v0_LoadBalanceResponse_fields, res); |
||||
GPR_ASSERT(status == true); |
||||
GPR_ASSERT(arg.num_servers > 0); |
||||
|
||||
arg.first_pass = 0; |
||||
status = |
||||
pb_decode(&stream_at_start, grpc_lb_v0_LoadBalanceResponse_fields, res); |
||||
GPR_ASSERT(status == true); |
||||
GPR_ASSERT(arg.servers != NULL); |
||||
|
||||
sl->num_servers = arg.num_servers; |
||||
sl->servers = arg.servers; |
||||
if (res->server_list.has_expiration_interval) { |
||||
sl->expiration_interval = res->server_list.expiration_interval; |
||||
} |
||||
grpc_grpclb_response_destroy(res); |
||||
return sl; |
||||
} |
||||
|
||||
void grpc_grpclb_destroy_serverlist(grpc_grpclb_serverlist *serverlist) { |
||||
size_t i; |
||||
for (i = 0; i < serverlist->num_servers; i++) { |
||||
gpr_free(serverlist->servers[i]); |
||||
} |
||||
gpr_free(serverlist->servers); |
||||
gpr_free(serverlist); |
||||
} |
||||
|
||||
void grpc_grpclb_response_destroy(grpc_grpclb_response *response) { |
||||
gpr_free(response); |
||||
} |
@ -0,0 +1,85 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H |
||||
#define GRPC_INTERNAL_CORE_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H |
||||
|
||||
#include <grpc/support/slice_buffer.h> |
||||
|
||||
#include "src/core/client_config/lb_policy_factory.h" |
||||
#include "src/core/proto/grpc/lb/v0/load_balancer.pb.h" |
||||
|
||||
#ifdef __cplusplus |
||||
extern "C" { |
||||
#endif |
||||
|
||||
#define GRPC_GRPCLB_SERVICE_NAME_MAX_LENGTH 128 |
||||
|
||||
typedef grpc_lb_v0_LoadBalanceRequest grpc_grpclb_request; |
||||
typedef grpc_lb_v0_LoadBalanceResponse grpc_grpclb_response; |
||||
typedef grpc_lb_v0_Server grpc_grpclb_server; |
||||
typedef grpc_lb_v0_Duration grpc_grpclb_duration; |
||||
typedef struct grpc_grpclb_serverlist { |
||||
grpc_grpclb_server **servers; |
||||
size_t num_servers; |
||||
grpc_grpclb_duration expiration_interval; |
||||
} grpc_grpclb_serverlist; |
||||
|
||||
/** Create a request for a gRPC LB service under \a lb_service_name */ |
||||
grpc_grpclb_request *grpc_grpclb_request_create(const char *lb_service_name); |
||||
|
||||
/** Protocol Buffers v3-encode \a request */ |
||||
gpr_slice grpc_grpclb_request_encode(const grpc_grpclb_request *request); |
||||
|
||||
/** Destroy \a request */ |
||||
void grpc_grpclb_request_destroy(grpc_grpclb_request *request); |
||||
|
||||
/** Parse (ie, decode) the bytes in \a encoded_response as a \a
|
||||
* grpc_grpclb_response */ |
||||
grpc_grpclb_response *grpc_grpclb_response_parse(gpr_slice encoded_response); |
||||
|
||||
/** Destroy \a serverlist */ |
||||
void grpc_grpclb_destroy_serverlist(grpc_grpclb_serverlist *serverlist); |
||||
|
||||
/** Parse the list of servers from an encoded \a grpc_grpclb_response */ |
||||
grpc_grpclb_serverlist *grpc_grpclb_response_parse_serverlist( |
||||
gpr_slice encoded_response); |
||||
|
||||
/** Destroy \a response */ |
||||
void grpc_grpclb_response_destroy(grpc_grpclb_response *response); |
||||
|
||||
#ifdef __cplusplus |
||||
} |
||||
#endif |
||||
|
||||
#endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_LB_POLICIES_LOAD_BALANCER_API_H */ |
@ -0,0 +1,153 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2015-2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_POSIX_H |
||||
#define GRPC_INTERNAL_CORE_IOMGR_POLLSET_POSIX_H |
||||
|
||||
#include <poll.h> |
||||
|
||||
#include <grpc/support/sync.h> |
||||
|
||||
#include "src/core/iomgr/exec_ctx.h" |
||||
#include "src/core/iomgr/iomgr.h" |
||||
#include "src/core/iomgr/pollset.h" |
||||
#include "src/core/iomgr/wakeup_fd_posix.h" |
||||
|
||||
typedef struct grpc_pollset_vtable grpc_pollset_vtable; |
||||
|
||||
/* forward declare only in this file to avoid leaking impl details via
|
||||
pollset.h; real users of grpc_fd should always include 'fd_posix.h' and not |
||||
use the struct tag */ |
||||
struct grpc_fd; |
||||
|
||||
typedef struct grpc_cached_wakeup_fd { |
||||
grpc_wakeup_fd fd; |
||||
struct grpc_cached_wakeup_fd *next; |
||||
} grpc_cached_wakeup_fd; |
||||
|
||||
struct grpc_pollset_worker { |
||||
grpc_cached_wakeup_fd *wakeup_fd; |
||||
int reevaluate_polling_on_wakeup; |
||||
int kicked_specifically; |
||||
struct grpc_pollset_worker *next; |
||||
struct grpc_pollset_worker *prev; |
||||
}; |
||||
|
||||
struct grpc_pollset { |
||||
/* pollsets under posix can mutate representation as fds are added and
|
||||
removed. |
||||
For example, we may choose a poll() based implementation on linux for |
||||
few fds, and an epoll() based implementation for many fds */ |
||||
const grpc_pollset_vtable *vtable; |
||||
gpr_mu *mu; |
||||
grpc_pollset_worker root_worker; |
||||
int in_flight_cbs; |
||||
int shutting_down; |
||||
int called_shutdown; |
||||
int kicked_without_pollers; |
||||
grpc_closure *shutdown_done; |
||||
grpc_closure_list idle_jobs; |
||||
union { |
||||
int fd; |
||||
void *ptr; |
||||
} data; |
||||
/* Local cache of eventfds for workers */ |
||||
grpc_cached_wakeup_fd *local_wakeup_cache; |
||||
}; |
||||
|
||||
struct grpc_pollset_vtable { |
||||
void (*add_fd)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, |
||||
struct grpc_fd *fd, int and_unlock_pollset); |
||||
void (*maybe_work_and_unlock)(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, |
||||
grpc_pollset_worker *worker, |
||||
gpr_timespec deadline, gpr_timespec now); |
||||
void (*finish_shutdown)(grpc_pollset *pollset); |
||||
void (*destroy)(grpc_pollset *pollset); |
||||
}; |
||||
|
||||
/* Add an fd to a pollset */ |
||||
void grpc_pollset_add_fd(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, |
||||
struct grpc_fd *fd); |
||||
|
||||
/* Returns the fd to listen on for kicks */ |
||||
int grpc_kick_read_fd(grpc_pollset *p); |
||||
/* Call after polling has been kicked to leave the kicked state */ |
||||
void grpc_kick_drain(grpc_pollset *p); |
||||
|
||||
/* Convert a timespec to milliseconds:
|
||||
- very small or negative poll times are clamped to zero to do a |
||||
non-blocking poll (which becomes spin polling) |
||||
- other small values are rounded up to one millisecond |
||||
- longer than a millisecond polls are rounded up to the next nearest |
||||
millisecond to avoid spinning |
||||
- infinite timeouts are converted to -1 */ |
||||
int grpc_poll_deadline_to_millis_timeout(gpr_timespec deadline, |
||||
gpr_timespec now); |
||||
|
||||
/* Allow kick to wakeup the currently polling worker */ |
||||
#define GRPC_POLLSET_CAN_KICK_SELF 1 |
||||
/* Force the wakee to repoll when awoken */ |
||||
#define GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP 2 |
||||
/* As per grpc_pollset_kick, with an extended set of flags (defined above)
|
||||
-- mostly for fd_posix's use. */ |
||||
void grpc_pollset_kick_ext(grpc_pollset *p, |
||||
grpc_pollset_worker *specific_worker, |
||||
uint32_t flags); |
||||
|
||||
/* turn a pollset into a multipoller: platform specific */ |
||||
typedef void (*grpc_platform_become_multipoller_type)(grpc_exec_ctx *exec_ctx, |
||||
grpc_pollset *pollset, |
||||
struct grpc_fd **fds, |
||||
size_t fd_count); |
||||
extern grpc_platform_become_multipoller_type grpc_platform_become_multipoller; |
||||
|
||||
void grpc_poll_become_multipoller(grpc_exec_ctx *exec_ctx, |
||||
grpc_pollset *pollset, struct grpc_fd **fds, |
||||
size_t fd_count); |
||||
|
||||
/* Return 1 if the pollset has active threads in grpc_pollset_work (pollset must
|
||||
* be locked) */ |
||||
int grpc_pollset_has_workers(grpc_pollset *pollset); |
||||
|
||||
void grpc_remove_fd_from_all_epoll_sets(int fd); |
||||
|
||||
/* override to allow tests to hook poll() usage */ |
||||
/* NOTE: Any changes to grpc_poll_function must take place when the gRPC
|
||||
is certainly not doing any polling anywhere. |
||||
Otherwise, there might be a race between changing the variable and actually |
||||
doing a polling operation */ |
||||
typedef int (*grpc_poll_function_type)(struct pollfd *, nfds_t, int); |
||||
extern grpc_poll_function_type grpc_poll_function; |
||||
extern grpc_wakeup_fd grpc_global_wakeup_fd; |
||||
|
||||
#endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_POSIX_H */ |
@ -0,0 +1,119 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
/* Automatically generated nanopb constant definitions */ |
||||
/* Generated by nanopb-0.3.5-dev */ |
||||
|
||||
#include "src/core/proto/grpc/lb/v0/load_balancer.pb.h" |
||||
|
||||
#if PB_PROTO_HEADER_VERSION != 30 |
||||
#error Regenerate this file with the current version of nanopb generator. |
||||
#endif |
||||
|
||||
|
||||
|
||||
const pb_field_t grpc_lb_v0_Duration_fields[3] = { |
||||
PB_FIELD( 1, INT64 , OPTIONAL, STATIC , FIRST, grpc_lb_v0_Duration, seconds, seconds, 0), |
||||
PB_FIELD( 2, INT32 , OPTIONAL, STATIC , OTHER, grpc_lb_v0_Duration, nanos, seconds, 0), |
||||
PB_LAST_FIELD |
||||
}; |
||||
|
||||
const pb_field_t grpc_lb_v0_LoadBalanceRequest_fields[3] = { |
||||
PB_FIELD( 1, MESSAGE , OPTIONAL, STATIC , FIRST, grpc_lb_v0_LoadBalanceRequest, initial_request, initial_request, &grpc_lb_v0_InitialLoadBalanceRequest_fields), |
||||
PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, grpc_lb_v0_LoadBalanceRequest, client_stats, initial_request, &grpc_lb_v0_ClientStats_fields), |
||||
PB_LAST_FIELD |
||||
}; |
||||
|
||||
const pb_field_t grpc_lb_v0_InitialLoadBalanceRequest_fields[2] = { |
||||
PB_FIELD( 1, STRING , OPTIONAL, STATIC , FIRST, grpc_lb_v0_InitialLoadBalanceRequest, name, name, 0), |
||||
PB_LAST_FIELD |
||||
}; |
||||
|
||||
const pb_field_t grpc_lb_v0_ClientStats_fields[4] = { |
||||
PB_FIELD( 1, INT64 , OPTIONAL, STATIC , FIRST, grpc_lb_v0_ClientStats, total_requests, total_requests, 0), |
||||
PB_FIELD( 2, INT64 , OPTIONAL, STATIC , OTHER, grpc_lb_v0_ClientStats, client_rpc_errors, total_requests, 0), |
||||
PB_FIELD( 3, INT64 , OPTIONAL, STATIC , OTHER, grpc_lb_v0_ClientStats, dropped_requests, client_rpc_errors, 0), |
||||
PB_LAST_FIELD |
||||
}; |
||||
|
||||
const pb_field_t grpc_lb_v0_LoadBalanceResponse_fields[3] = { |
||||
PB_FIELD( 1, MESSAGE , OPTIONAL, STATIC , FIRST, grpc_lb_v0_LoadBalanceResponse, initial_response, initial_response, &grpc_lb_v0_InitialLoadBalanceResponse_fields), |
||||
PB_FIELD( 2, MESSAGE , OPTIONAL, STATIC , OTHER, grpc_lb_v0_LoadBalanceResponse, server_list, initial_response, &grpc_lb_v0_ServerList_fields), |
||||
PB_LAST_FIELD |
||||
}; |
||||
|
||||
const pb_field_t grpc_lb_v0_InitialLoadBalanceResponse_fields[4] = { |
||||
PB_FIELD( 1, STRING , OPTIONAL, STATIC , FIRST, grpc_lb_v0_InitialLoadBalanceResponse, client_config, client_config, 0), |
||||
PB_FIELD( 2, STRING , OPTIONAL, STATIC , OTHER, grpc_lb_v0_InitialLoadBalanceResponse, load_balancer_delegate, client_config, 0), |
||||
PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, grpc_lb_v0_InitialLoadBalanceResponse, client_stats_report_interval, load_balancer_delegate, &grpc_lb_v0_Duration_fields), |
||||
PB_LAST_FIELD |
||||
}; |
||||
|
||||
const pb_field_t grpc_lb_v0_ServerList_fields[3] = { |
||||
PB_FIELD( 1, MESSAGE , REPEATED, CALLBACK, FIRST, grpc_lb_v0_ServerList, servers, servers, &grpc_lb_v0_Server_fields), |
||||
PB_FIELD( 3, MESSAGE , OPTIONAL, STATIC , OTHER, grpc_lb_v0_ServerList, expiration_interval, servers, &grpc_lb_v0_Duration_fields), |
||||
PB_LAST_FIELD |
||||
}; |
||||
|
||||
const pb_field_t grpc_lb_v0_Server_fields[5] = { |
||||
PB_FIELD( 1, STRING , OPTIONAL, STATIC , FIRST, grpc_lb_v0_Server, ip_address, ip_address, 0), |
||||
PB_FIELD( 2, INT32 , OPTIONAL, STATIC , OTHER, grpc_lb_v0_Server, port, ip_address, 0), |
||||
PB_FIELD( 3, BYTES , OPTIONAL, STATIC , OTHER, grpc_lb_v0_Server, load_balance_token, port, 0), |
||||
PB_FIELD( 4, BOOL , OPTIONAL, STATIC , OTHER, grpc_lb_v0_Server, drop_request, load_balance_token, 0), |
||||
PB_LAST_FIELD |
||||
}; |
||||
|
||||
|
||||
/* Check that field information fits in pb_field_t */ |
||||
#if !defined(PB_FIELD_32BIT) |
||||
/* If you get an error here, it means that you need to define PB_FIELD_32BIT
|
||||
* compile-time option. You can do that in pb.h or on compiler command line. |
||||
*
|
||||
* The reason you need to do this is that some of your messages contain tag |
||||
* numbers or field sizes that are larger than what can fit in 8 or 16 bit |
||||
* field descriptors. |
||||
*/ |
||||
PB_STATIC_ASSERT((pb_membersize(grpc_lb_v0_LoadBalanceRequest, initial_request) < 65536 && pb_membersize(grpc_lb_v0_LoadBalanceRequest, client_stats) < 65536 && pb_membersize(grpc_lb_v0_LoadBalanceResponse, initial_response) < 65536 && pb_membersize(grpc_lb_v0_LoadBalanceResponse, server_list) < 65536 && pb_membersize(grpc_lb_v0_InitialLoadBalanceResponse, client_stats_report_interval) < 65536 && pb_membersize(grpc_lb_v0_ServerList, servers) < 65536 && pb_membersize(grpc_lb_v0_ServerList, expiration_interval) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_grpc_lb_v0_Duration_grpc_lb_v0_LoadBalanceRequest_grpc_lb_v0_InitialLoadBalanceRequest_grpc_lb_v0_ClientStats_grpc_lb_v0_LoadBalanceResponse_grpc_lb_v0_InitialLoadBalanceResponse_grpc_lb_v0_ServerList_grpc_lb_v0_Server) |
||||
#endif |
||||
|
||||
#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT) |
||||
/* If you get an error here, it means that you need to define PB_FIELD_16BIT
|
||||
* compile-time option. You can do that in pb.h or on compiler command line. |
||||
*
|
||||
* The reason you need to do this is that some of your messages contain tag |
||||
* numbers or field sizes that are larger than what can fit in the default |
||||
* 8 bit descriptors. |
||||
*/ |
||||
PB_STATIC_ASSERT((pb_membersize(grpc_lb_v0_LoadBalanceRequest, initial_request) < 256 && pb_membersize(grpc_lb_v0_LoadBalanceRequest, client_stats) < 256 && pb_membersize(grpc_lb_v0_LoadBalanceResponse, initial_response) < 256 && pb_membersize(grpc_lb_v0_LoadBalanceResponse, server_list) < 256 && pb_membersize(grpc_lb_v0_InitialLoadBalanceResponse, client_stats_report_interval) < 256 && pb_membersize(grpc_lb_v0_ServerList, servers) < 256 && pb_membersize(grpc_lb_v0_ServerList, expiration_interval) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_grpc_lb_v0_Duration_grpc_lb_v0_LoadBalanceRequest_grpc_lb_v0_InitialLoadBalanceRequest_grpc_lb_v0_ClientStats_grpc_lb_v0_LoadBalanceResponse_grpc_lb_v0_InitialLoadBalanceResponse_grpc_lb_v0_ServerList_grpc_lb_v0_Server) |
||||
#endif |
||||
|
||||
|
@ -0,0 +1,182 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
/* Automatically generated nanopb header */ |
||||
/* Generated by nanopb-0.3.5-dev */ |
||||
|
||||
#ifndef PB_LOAD_BALANCER_PB_H_INCLUDED |
||||
#define PB_LOAD_BALANCER_PB_H_INCLUDED |
||||
#include "third_party/nanopb/pb.h" |
||||
#if PB_PROTO_HEADER_VERSION != 30 |
||||
#error Regenerate this file with the current version of nanopb generator. |
||||
#endif |
||||
|
||||
#ifdef __cplusplus |
||||
extern "C" { |
||||
#endif |
||||
|
||||
/* Struct definitions */ |
||||
typedef struct _grpc_lb_v0_ClientStats { |
||||
bool has_total_requests; |
||||
int64_t total_requests; |
||||
bool has_client_rpc_errors; |
||||
int64_t client_rpc_errors; |
||||
bool has_dropped_requests; |
||||
int64_t dropped_requests; |
||||
} grpc_lb_v0_ClientStats; |
||||
|
||||
typedef struct _grpc_lb_v0_Duration { |
||||
bool has_seconds; |
||||
int64_t seconds; |
||||
bool has_nanos; |
||||
int32_t nanos; |
||||
} grpc_lb_v0_Duration; |
||||
|
||||
typedef struct _grpc_lb_v0_InitialLoadBalanceRequest { |
||||
bool has_name; |
||||
char name[128]; |
||||
} grpc_lb_v0_InitialLoadBalanceRequest; |
||||
|
||||
typedef PB_BYTES_ARRAY_T(64) grpc_lb_v0_Server_load_balance_token_t; |
||||
typedef struct _grpc_lb_v0_Server { |
||||
bool has_ip_address; |
||||
char ip_address[46]; |
||||
bool has_port; |
||||
int32_t port; |
||||
bool has_load_balance_token; |
||||
grpc_lb_v0_Server_load_balance_token_t load_balance_token; |
||||
bool has_drop_request; |
||||
bool drop_request; |
||||
} grpc_lb_v0_Server; |
||||
|
||||
typedef struct _grpc_lb_v0_InitialLoadBalanceResponse { |
||||
bool has_client_config; |
||||
char client_config[64]; |
||||
bool has_load_balancer_delegate; |
||||
char load_balancer_delegate[64]; |
||||
bool has_client_stats_report_interval; |
||||
grpc_lb_v0_Duration client_stats_report_interval; |
||||
} grpc_lb_v0_InitialLoadBalanceResponse; |
||||
|
||||
typedef struct _grpc_lb_v0_LoadBalanceRequest { |
||||
bool has_initial_request; |
||||
grpc_lb_v0_InitialLoadBalanceRequest initial_request; |
||||
bool has_client_stats; |
||||
grpc_lb_v0_ClientStats client_stats; |
||||
} grpc_lb_v0_LoadBalanceRequest; |
||||
|
||||
typedef struct _grpc_lb_v0_ServerList { |
||||
pb_callback_t servers; |
||||
bool has_expiration_interval; |
||||
grpc_lb_v0_Duration expiration_interval; |
||||
} grpc_lb_v0_ServerList; |
||||
|
||||
typedef struct _grpc_lb_v0_LoadBalanceResponse { |
||||
bool has_initial_response; |
||||
grpc_lb_v0_InitialLoadBalanceResponse initial_response; |
||||
bool has_server_list; |
||||
grpc_lb_v0_ServerList server_list; |
||||
} grpc_lb_v0_LoadBalanceResponse; |
||||
|
||||
/* Default values for struct fields */ |
||||
|
||||
/* Initializer values for message structs */ |
||||
#define grpc_lb_v0_Duration_init_default {false, 0, false, 0} |
||||
#define grpc_lb_v0_LoadBalanceRequest_init_default {false, grpc_lb_v0_InitialLoadBalanceRequest_init_default, false, grpc_lb_v0_ClientStats_init_default} |
||||
#define grpc_lb_v0_InitialLoadBalanceRequest_init_default {false, ""} |
||||
#define grpc_lb_v0_ClientStats_init_default {false, 0, false, 0, false, 0} |
||||
#define grpc_lb_v0_LoadBalanceResponse_init_default {false, grpc_lb_v0_InitialLoadBalanceResponse_init_default, false, grpc_lb_v0_ServerList_init_default} |
||||
#define grpc_lb_v0_InitialLoadBalanceResponse_init_default {false, "", false, "", false, grpc_lb_v0_Duration_init_default} |
||||
#define grpc_lb_v0_ServerList_init_default {{{NULL}, NULL}, false, grpc_lb_v0_Duration_init_default} |
||||
#define grpc_lb_v0_Server_init_default {false, "", false, 0, false, {0, {0}}, false, 0} |
||||
#define grpc_lb_v0_Duration_init_zero {false, 0, false, 0} |
||||
#define grpc_lb_v0_LoadBalanceRequest_init_zero {false, grpc_lb_v0_InitialLoadBalanceRequest_init_zero, false, grpc_lb_v0_ClientStats_init_zero} |
||||
#define grpc_lb_v0_InitialLoadBalanceRequest_init_zero {false, ""} |
||||
#define grpc_lb_v0_ClientStats_init_zero {false, 0, false, 0, false, 0} |
||||
#define grpc_lb_v0_LoadBalanceResponse_init_zero {false, grpc_lb_v0_InitialLoadBalanceResponse_init_zero, false, grpc_lb_v0_ServerList_init_zero} |
||||
#define grpc_lb_v0_InitialLoadBalanceResponse_init_zero {false, "", false, "", false, grpc_lb_v0_Duration_init_zero} |
||||
#define grpc_lb_v0_ServerList_init_zero {{{NULL}, NULL}, false, grpc_lb_v0_Duration_init_zero} |
||||
#define grpc_lb_v0_Server_init_zero {false, "", false, 0, false, {0, {0}}, false, 0} |
||||
|
||||
/* Field tags (for use in manual encoding/decoding) */ |
||||
#define grpc_lb_v0_ClientStats_total_requests_tag 1 |
||||
#define grpc_lb_v0_ClientStats_client_rpc_errors_tag 2 |
||||
#define grpc_lb_v0_ClientStats_dropped_requests_tag 3 |
||||
#define grpc_lb_v0_Duration_seconds_tag 1 |
||||
#define grpc_lb_v0_Duration_nanos_tag 2 |
||||
#define grpc_lb_v0_InitialLoadBalanceRequest_name_tag 1 |
||||
#define grpc_lb_v0_Server_ip_address_tag 1 |
||||
#define grpc_lb_v0_Server_port_tag 2 |
||||
#define grpc_lb_v0_Server_load_balance_token_tag 3 |
||||
#define grpc_lb_v0_Server_drop_request_tag 4 |
||||
#define grpc_lb_v0_InitialLoadBalanceResponse_client_config_tag 1 |
||||
#define grpc_lb_v0_InitialLoadBalanceResponse_load_balancer_delegate_tag 2 |
||||
#define grpc_lb_v0_InitialLoadBalanceResponse_client_stats_report_interval_tag 3 |
||||
#define grpc_lb_v0_LoadBalanceRequest_initial_request_tag 1 |
||||
#define grpc_lb_v0_LoadBalanceRequest_client_stats_tag 2 |
||||
#define grpc_lb_v0_ServerList_servers_tag 1 |
||||
#define grpc_lb_v0_ServerList_expiration_interval_tag 3 |
||||
#define grpc_lb_v0_LoadBalanceResponse_initial_response_tag 1 |
||||
#define grpc_lb_v0_LoadBalanceResponse_server_list_tag 2 |
||||
|
||||
/* Struct field encoding specification for nanopb */ |
||||
extern const pb_field_t grpc_lb_v0_Duration_fields[3]; |
||||
extern const pb_field_t grpc_lb_v0_LoadBalanceRequest_fields[3]; |
||||
extern const pb_field_t grpc_lb_v0_InitialLoadBalanceRequest_fields[2]; |
||||
extern const pb_field_t grpc_lb_v0_ClientStats_fields[4]; |
||||
extern const pb_field_t grpc_lb_v0_LoadBalanceResponse_fields[3]; |
||||
extern const pb_field_t grpc_lb_v0_InitialLoadBalanceResponse_fields[4]; |
||||
extern const pb_field_t grpc_lb_v0_ServerList_fields[3]; |
||||
extern const pb_field_t grpc_lb_v0_Server_fields[5]; |
||||
|
||||
/* Maximum encoded size of messages (where known) */ |
||||
#define grpc_lb_v0_Duration_size 22 |
||||
#define grpc_lb_v0_LoadBalanceRequest_size 169 |
||||
#define grpc_lb_v0_InitialLoadBalanceRequest_size 131 |
||||
#define grpc_lb_v0_ClientStats_size 33 |
||||
#define grpc_lb_v0_LoadBalanceResponse_size (165 + grpc_lb_v0_ServerList_size) |
||||
#define grpc_lb_v0_InitialLoadBalanceResponse_size 156 |
||||
#define grpc_lb_v0_Server_size 127 |
||||
|
||||
/* Message IDs (where set with "msgid" option) */ |
||||
#ifdef PB_MSGID |
||||
|
||||
#define LOAD_BALANCER_MESSAGES \ |
||||
|
||||
|
||||
#endif |
||||
|
||||
#ifdef __cplusplus |
||||
} /* extern "C" */ |
||||
#endif |
||||
|
||||
#endif |
@ -0,0 +1,6 @@ |
||||
grpc.lb.v0.InitialLoadBalanceRequest.name max_size:128 |
||||
grpc.lb.v0.InitialLoadBalanceResponse.client_config max_size:64 |
||||
grpc.lb.v0.InitialLoadBalanceResponse.load_balancer_delegate max_size:64 |
||||
grpc.lb.v0.Server.ip_address max_size:46 |
||||
grpc.lb.v0.Server.load_balance_token max_size:64 |
||||
load_balancer.proto no_unions:true |
@ -0,0 +1,144 @@ |
||||
// Copyright 2016, Google Inc. |
||||
// All rights reserved. |
||||
// |
||||
// Redistribution and use in source and binary forms, with or without |
||||
// modification, are permitted provided that the following conditions are |
||||
// met: |
||||
// |
||||
// * Redistributions of source code must retain the above copyright |
||||
// notice, this list of conditions and the following disclaimer. |
||||
// * Redistributions in binary form must reproduce the above |
||||
// copyright notice, this list of conditions and the following disclaimer |
||||
// in the documentation and/or other materials provided with the |
||||
// distribution. |
||||
// * Neither the name of Google Inc. nor the names of its |
||||
// contributors may be used to endorse or promote products derived from |
||||
// this software without specific prior written permission. |
||||
// |
||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package grpc.lb.v0; |
||||
|
||||
message Duration { |
||||
|
||||
// Signed seconds of the span of time. Must be from -315,576,000,000 |
||||
// to +315,576,000,000 inclusive. |
||||
int64 seconds = 1; |
||||
|
||||
// Signed fractions of a second at nanosecond resolution of the span |
||||
// of time. Durations less than one second are represented with a 0 |
||||
// `seconds` field and a positive or negative `nanos` field. For durations |
||||
// of one second or more, a non-zero value for the `nanos` field must be |
||||
// of the same sign as the `seconds` field. Must be from -999,999,999 |
||||
// to +999,999,999 inclusive. |
||||
int32 nanos = 2; |
||||
} |
||||
|
||||
service LoadBalancer { |
||||
// Bidirectional rpc to get a list of servers. |
||||
rpc BalanceLoad(stream LoadBalanceRequest) |
||||
returns (stream LoadBalanceResponse); |
||||
} |
||||
|
||||
message LoadBalanceRequest { |
||||
oneof load_balance_request_type { |
||||
// This message should be sent on the first request to the load balancer. |
||||
InitialLoadBalanceRequest initial_request = 1; |
||||
|
||||
// The client stats should be periodically reported to the load balancer |
||||
// based on the duration defined in the InitialLoadBalanceResponse. |
||||
ClientStats client_stats = 2; |
||||
} |
||||
} |
||||
|
||||
message InitialLoadBalanceRequest { |
||||
// Name of load balanced service (IE, service.grpc.gslb.google.com) |
||||
string name = 1; |
||||
} |
||||
|
||||
// Contains client level statistics that are useful to load balancing. Each |
||||
// count should be reset to zero after reporting the stats. |
||||
message ClientStats { |
||||
// The total number of requests sent by the client since the last report. |
||||
int64 total_requests = 1; |
||||
|
||||
// The number of client rpc errors since the last report. |
||||
int64 client_rpc_errors = 2; |
||||
|
||||
// The number of dropped requests since the last report. |
||||
int64 dropped_requests = 3; |
||||
} |
||||
|
||||
message LoadBalanceResponse { |
||||
oneof load_balance_response_type { |
||||
// This message should be sent on the first response to the client. |
||||
InitialLoadBalanceResponse initial_response = 1; |
||||
|
||||
// Contains the list of servers selected by the load balancer. The client |
||||
// should send requests to these servers in the specified order. |
||||
ServerList server_list = 2; |
||||
} |
||||
} |
||||
|
||||
message InitialLoadBalanceResponse { |
||||
oneof initial_response_type { |
||||
// Contains gRPC config options like RPC deadline or flow control. |
||||
// TODO(yetianx): Change to ClientConfig after it is defined. |
||||
string client_config = 1; |
||||
|
||||
// This is an application layer redirect that indicates the client should |
||||
// use the specified server for load balancing. When this field is set in |
||||
// the response, the client should open a separate connection to the |
||||
// load_balancer_delegate and call the BalanceLoad method. |
||||
string load_balancer_delegate = 2; |
||||
} |
||||
|
||||
// This interval defines how often the client should send the client stats |
||||
// to the load balancer. Stats should only be reported when the duration is |
||||
// positive. |
||||
Duration client_stats_report_interval = 3; |
||||
} |
||||
|
||||
message ServerList { |
||||
// Contains a list of servers selected by the load balancer. The list will |
||||
// be updated when server resolutions change or as needed to balance load |
||||
// across more servers. The client should consume the server list in order |
||||
// unless instructed otherwise via the client_config. |
||||
repeated Server servers = 1; |
||||
|
||||
// Indicates the amount of time that the client should consider this server |
||||
// list as valid. It may be considered stale after waiting this interval of |
||||
// time after receiving the list. If the interval is not positive, the |
||||
// client can assume the list is valid until the next list is received. |
||||
Duration expiration_interval = 3; |
||||
} |
||||
|
||||
message Server { |
||||
// A resolved address and port for the server. The IP address string may |
||||
// either be an IPv4 or IPv6 address. |
||||
string ip_address = 1; |
||||
int32 port = 2; |
||||
|
||||
// An opaque token that is passed from the client to the server in metadata. |
||||
// The server may expect this token to indicate that the request from the |
||||
// client was load balanced. |
||||
// TODO(yetianx): Not used right now, and will be used after implementing |
||||
// load report. |
||||
bytes load_balance_token = 3; |
||||
|
||||
// Indicates whether this particular request should be dropped by the client |
||||
// when this server is chosen from the list. |
||||
bool drop_request = 4; |
||||
} |
@ -1,4 +1,52 @@ |
||||
Google Summer of Code 2016 gRPC Ideas |
||||
===================================== |
||||
# gRPC Summer of Code Project Ideas |
||||
|
||||
(Skeleton for now.) |
||||
Hello students! |
||||
|
||||
We want gRPC to be the universal remote procedure call protocol for all |
||||
computing platforms and paradigms, so while these are our ideas of what we |
||||
think would make good projects for the summer, we're eager to hear your ideas |
||||
and proposals as well. |
||||
[Try us out](https://github.com/grpc/grpc/blob/master/CONTRIBUTING.md) and get |
||||
to know the gRPC code and team! |
||||
|
||||
**Required skills for all projects:** git version control, collaborative |
||||
software development on github.com, and software development in at least one |
||||
of gRPC's ten languages on at least one of Linux, Mac OS X, and Windows. |
||||
|
||||
------------------------------------- |
||||
|
||||
gRPC C Core: |
||||
|
||||
1. Port gRPC to one of the major BSD platforms ([FreeBSD](https://freebsd.org), [NetBSD](https://netbsd.org), and [OpenBSD](https://openbsd.org)) and create packages for them. Add [kqueue](https://www.freebsd.org/cgi/man.cgi?query=kqueue) support in the process. |
||||
* **Required skills:** C programming language, BSD operating system. |
||||
* **Likely mentors:** [Craig Tiller](https://github.com/ctiller), [Nicolas Noble](https://github.com/nicolasnoble). |
||||
1. Fix gRPC C-core's URI parser. The current parser does not qualify as a standard parser according to [RFC3986]( https://tools.ietf.org/html/rfc3986). Write test suites to verify this and make changes necessary to make the URI parser compliant. |
||||
* **Required skills:** C programming language, HTTP standard compliance. |
||||
* **Likely mentors:** [Craig Tiller](https://github.com/ctiller). |
||||
1. HPACK compression efficiency evaluation - Figure out how to benchmark gRPC's compression efficiency (both in terms of bytes on the wire and cpu cycles). Implement benchmarks. Potentially extend this to other full-stack gRPC implementations (Java and Go). |
||||
* **Required skills:** C programming language, software performance benchmarking, potentially Java and Go. |
||||
* **Likely mentors:** [Craig Tiller](https://github.com/ctiller). |
||||
|
||||
|
||||
gRPC Python: |
||||
|
||||
1. Port gRPC Python to [PyPy](http://pypy.org). Investigate the state of [Cython support](http://docs.cython.org/src/userguide/pypy.html) to do this or potentially explore [cffi](https://cffi.readthedocs.org/en/latest/). |
||||
* **Required skills:** Python programming language, PyPy Python interpreter. |
||||
* **Likely mentors:** [Nathaniel Manista](https://github.com/nathanielmanistaatgoogle), [Masood Malekghassemi](https://github.com/soltanmm). |
||||
1. Develop and test Python 3.5 Support for gRPC. Make necessary changes to port gRPC and package it for supported platforms. |
||||
* **Required skills:** Python programming language, PyPy Python interpreter. |
||||
* **Likely mentors:** [Nathaniel Manista](https://github.com/nathanielmanistaatgoogle), [Masood Malekghassemi](https://github.com/soltanmm). |
||||
|
||||
gRPC Ruby/Java: |
||||
|
||||
1. [jRuby](http://jruby.org) support for gRPC. Develop a jRuby wrapper for gRPC based on grpc-java and ensure that it is API compatible with the existing Ruby implementation and passes all tests. |
||||
* **Required skills:** Java programming language, Ruby programming language. |
||||
* **Likely mentors:** [Michael Lumish](https://github.com/murgatroid99), [Eric Anderson](https://github.com/ejona86). |
||||
|
||||
|
||||
gRPC Wire Protocol: |
||||
|
||||
1. Develop a [Wireshark](https://wireshark.org) plugin for the gRPC protocol. Provide documentation and tutorials for this plugin. |
||||
* **Bonus:** consider set-up and use with mobile clients. |
||||
* **Required skills:** Wireshark software. |
||||
* **Likely mentors:** [Nicolas Noble](https://github.com/nicolasnoble). |
||||
|
@ -0,0 +1,44 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
PHP_ARG_ENABLE(grpc, whether to enable grpc support, |
||||
[ --enable-grpc Enable grpc support]) |
||||
|
||||
if test "$PHP_GRPC" != "no"; then |
||||
dnl Write more examples of tests here... |
||||
|
||||
dnl # --with-grpc -> add include path |
||||
PHP_ADD_INCLUDE(../../grpc/include) |
||||
PHP_ADD_INCLUDE(../../grpc/src/php/ext/grpc) |
||||
PHP_ADD_INCLUDE(../../grpc/third_party/boringssl/include) |
||||
|
||||
LIBS="-lpthread $LIBS" |
||||
|
||||
GRPC_SHARED_LIBADD="-lpthread $GRPC_SHARED_LIBADD" |
||||
PHP_ADD_LIBRARY(pthread) |
||||
|
||||
PHP_ADD_LIBRARY(dl,,GRPC_SHARED_LIBADD) |
||||
PHP_ADD_LIBRARY(dl) |
||||
|
||||
case $host in |
||||
*darwin*) ;; |
||||
*) |
||||
PHP_ADD_LIBRARY(rt,,GRPC_SHARED_LIBADD) |
||||
PHP_ADD_LIBRARY(rt) |
||||
;; |
||||
esac |
||||
|
||||
PHP_NEW_EXTENSION(grpc, |
||||
% for source in php_config_m4.src: |
||||
${source} ${"\\"} |
||||
% endfor |
||||
% for lib in libs: |
||||
% if lib.name in php_config_m4.get('deps', []): |
||||
% for source in lib.src: |
||||
${source} ${"\\"} |
||||
% endfor |
||||
% endif |
||||
% endfor |
||||
, $ext_shared, , -Wall -Werror -std=c11 ${"\\"} |
||||
-fvisibility=hidden -DOPENSSL_NO_ASM -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN ${"\\"} |
||||
-D_HAS_EXCEPTIONS=0 -DNOMINMAX) |
||||
fi |
@ -0,0 +1,159 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<package packagerversion="1.9.5" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> |
||||
<name>grpc</name> |
||||
<channel>pecl.php.net</channel> |
||||
<summary>A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.</summary> |
||||
<description>Remote Procedure Calls (RPCs) provide a useful abstraction for building distributed applications and services. The libraries in this repository provide a concrete implementation of the gRPC protocol, layered over HTTP/2. These libraries enable communication between clients and servers using any combination of the supported languages.</description> |
||||
<lead> |
||||
<name>Stanley Cheung</name> |
||||
<user>stanleycheung</user> |
||||
<email>grpc-packages@google.com</email> |
||||
<active>yes</active> |
||||
</lead> |
||||
<%! from time import strftime %><date>${"%Y-%m-%d" | strftime}</date> |
||||
<time>16:06:07</time> |
||||
<version> |
||||
<release>0.8.0</release> |
||||
<api>0.8.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- Simplify gRPC PHP installation #4517 |
||||
</notes> |
||||
<contents> |
||||
<dir baseinstalldir="/" name="/"> |
||||
<file baseinstalldir="/" name="config.m4" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/CREDITS" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/LICENSE" role="src" /> |
||||
<file baseinstalldir="/" name="src/php/ext/grpc/README.md" role="src" /> |
||||
% for source in php_config_m4.src + php_config_m4.headers: |
||||
<file baseinstalldir="/" name="${source}" role="src" /> |
||||
% endfor |
||||
% for lib in libs: |
||||
% if lib.name in php_config_m4.get('deps', []): |
||||
% for source in lib.get('public_headers', []) + lib.headers + lib.src: |
||||
<file baseinstalldir="/" name="${source}" role="src" /> |
||||
% endfor |
||||
% endif |
||||
% endfor |
||||
</dir> |
||||
</contents> |
||||
<dependencies> |
||||
<required> |
||||
<php> |
||||
<min>5.5.0</min> |
||||
</php> |
||||
<pearinstaller> |
||||
<min>1.4.0</min> |
||||
</pearinstaller> |
||||
</required> |
||||
</dependencies> |
||||
<providesextension>grpc</providesextension> |
||||
<extsrcrelease /> |
||||
<changelog> |
||||
<release> |
||||
<version> |
||||
<release>0.5.0</release> |
||||
<api>0.5.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>alpha</release> |
||||
<api>alpha</api> |
||||
</stability> |
||||
<date>2015-06-16</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
First alpha release |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.5.1</release> |
||||
<api>0.5.1</api> |
||||
</version> |
||||
<stability> |
||||
<release>alpha</release> |
||||
<api>alpha</api> |
||||
</stability> |
||||
<date>2015-07-09</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
Update to wrap gRPC C Core version 0.10.0 |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.6.0</release> |
||||
<api>0.6.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<date>2015-09-24</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- support per message compression disable |
||||
- expose per-call host override option |
||||
- expose connectivity API |
||||
- expose channel target and call peer |
||||
- add user-agent |
||||
- update to wrap gRPC C core library beta version 0.11.0 |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.6.1</release> |
||||
<api>0.6.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<date>2015-10-21</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- fixed undefined constant fatal error when run with apache/nginx #2275 |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.7.0</release> |
||||
<api>0.7.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<date>2016-01-13</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- Breaking change to Credentials class (removed) #3765 |
||||
- Replaced by ChannelCredentials and CallCredentials class #3765 |
||||
- New plugin based metadata auth API #4394 |
||||
- Explicit ChannelCredentials::createInsecure() call |
||||
</notes> |
||||
</release> |
||||
<release> |
||||
<version> |
||||
<release>0.8.0</release> |
||||
<api>0.8.0</api> |
||||
</version> |
||||
<stability> |
||||
<release>beta</release> |
||||
<api>beta</api> |
||||
</stability> |
||||
<date>${"%Y-%m-%d" | strftime}</date> |
||||
<license>BSD</license> |
||||
<notes> |
||||
- Simplify gRPC PHP installation #4517 |
||||
</notes> |
||||
</release> |
||||
</changelog> |
||||
</package> |
@ -1,7 +1,10 @@ |
||||
<%page args="skip_zookeeper=False"/>\ |
||||
<%include file="ccache_setup.include"/> |
||||
% if not skip_zookeeper: |
||||
#====================== |
||||
# Zookeeper dependencies |
||||
# TODO(jtattermusch): is zookeeper still needed? |
||||
RUN apt-get install -y libzookeeper-mt-dev |
||||
% endif |
||||
|
||||
RUN mkdir /var/local/jenkins |
||||
|
@ -0,0 +1,45 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM debian:squeeze |
||||
|
||||
<%include file="../../apt_get_basic.include" args="skip_golang=True"/> |
||||
|
||||
# libgflags-dev is not available on squeezy |
||||
RUN apt-get update && apt-get -y install libgtest-dev libc++-dev clang && apt-get clean |
||||
|
||||
RUN apt-get update && apt-get -y install python-pip && apt-get clean |
||||
RUN pip install argparse |
||||
|
||||
<%include file="../../run_tests_addons.include" args="skip_zookeeper=True"/> |
||||
# Define the default command. |
||||
CMD ["bash"] |
||||
|
@ -0,0 +1,39 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM ubuntu:16.04 |
||||
|
||||
<%include file="../../apt_get_basic.include"/> |
||||
<%include file="../../cxx_deps.include"/> |
||||
<%include file="../../run_tests_addons.include"/> |
||||
# Define the default command. |
||||
CMD ["bash"] |
||||
|
@ -0,0 +1,133 @@ |
||||
/*
|
||||
* |
||||
* Copyright 2016, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
#include <gtest/gtest.h> |
||||
#include <string> |
||||
|
||||
#include "src/core/client_config/lb_policies/load_balancer_api.h" |
||||
#include "src/proto/grpc/lb/v0/load_balancer.pb.h" // C++ version |
||||
|
||||
namespace grpc { |
||||
namespace { |
||||
|
||||
using grpc::lb::v0::LoadBalanceRequest; |
||||
using grpc::lb::v0::LoadBalanceResponse; |
||||
|
||||
class GrpclbTest : public ::testing::Test {}; |
||||
|
||||
TEST_F(GrpclbTest, CreateRequest) { |
||||
const std::string service_name = "AServiceName"; |
||||
LoadBalanceRequest request; |
||||
grpc_grpclb_request* c_req = grpc_grpclb_request_create(service_name.c_str()); |
||||
gpr_slice slice = grpc_grpclb_request_encode(c_req); |
||||
const int num_bytes_written = GPR_SLICE_LENGTH(slice); |
||||
EXPECT_GT(num_bytes_written, 0); |
||||
request.ParseFromArray(GPR_SLICE_START_PTR(slice), num_bytes_written); |
||||
EXPECT_EQ(request.initial_request().name(), service_name); |
||||
gpr_slice_unref(slice); |
||||
grpc_grpclb_request_destroy(c_req); |
||||
} |
||||
|
||||
TEST_F(GrpclbTest, ParseResponse) { |
||||
LoadBalanceResponse response; |
||||
const std::string client_config_str = "I'm a client config"; |
||||
auto* initial_response = response.mutable_initial_response(); |
||||
initial_response->set_client_config(client_config_str); |
||||
auto* client_stats_report_interval = |
||||
initial_response->mutable_client_stats_report_interval(); |
||||
client_stats_report_interval->set_seconds(123); |
||||
client_stats_report_interval->set_nanos(456); |
||||
|
||||
const std::string encoded_response = response.SerializeAsString(); |
||||
gpr_slice encoded_slice = |
||||
gpr_slice_from_copied_string(encoded_response.c_str()); |
||||
grpc_grpclb_response* c_response = grpc_grpclb_response_parse(encoded_slice); |
||||
EXPECT_TRUE(c_response->has_initial_response); |
||||
EXPECT_TRUE(c_response->initial_response.has_client_config); |
||||
EXPECT_FALSE(c_response->initial_response.has_load_balancer_delegate); |
||||
EXPECT_TRUE(strcmp(c_response->initial_response.client_config, |
||||
client_config_str.c_str()) == 0); |
||||
EXPECT_EQ(c_response->initial_response.client_stats_report_interval.seconds, |
||||
123); |
||||
EXPECT_EQ(c_response->initial_response.client_stats_report_interval.nanos, |
||||
456); |
||||
gpr_slice_unref(encoded_slice); |
||||
grpc_grpclb_response_destroy(c_response); |
||||
} |
||||
|
||||
TEST_F(GrpclbTest, ParseResponseServerList) { |
||||
LoadBalanceResponse response; |
||||
auto* serverlist = response.mutable_server_list(); |
||||
auto* server = serverlist->add_servers(); |
||||
server->set_ip_address("127.0.0.1"); |
||||
server->set_port(12345); |
||||
server->set_drop_request(true); |
||||
server = response.mutable_server_list()->add_servers(); |
||||
server->set_ip_address("10.0.0.1"); |
||||
server->set_port(54321); |
||||
server->set_drop_request(false); |
||||
auto* expiration_interval = serverlist->mutable_expiration_interval(); |
||||
expiration_interval->set_seconds(888); |
||||
expiration_interval->set_nanos(999); |
||||
|
||||
const std::string encoded_response = response.SerializeAsString(); |
||||
gpr_slice encoded_slice = |
||||
gpr_slice_from_copied_string(encoded_response.c_str()); |
||||
grpc_grpclb_serverlist* c_serverlist = |
||||
grpc_grpclb_response_parse_serverlist(encoded_slice); |
||||
ASSERT_EQ(c_serverlist->num_servers, 2ul); |
||||
EXPECT_TRUE(c_serverlist->servers[0]->has_ip_address); |
||||
EXPECT_TRUE(strcmp(c_serverlist->servers[0]->ip_address, "127.0.0.1") == 0); |
||||
EXPECT_EQ(c_serverlist->servers[0]->port, 12345); |
||||
EXPECT_TRUE(c_serverlist->servers[0]->drop_request); |
||||
EXPECT_TRUE(c_serverlist->servers[1]->has_ip_address); |
||||
EXPECT_TRUE(strcmp(c_serverlist->servers[1]->ip_address, "10.0.0.1") == 0); |
||||
EXPECT_EQ(c_serverlist->servers[1]->port, 54321); |
||||
EXPECT_FALSE(c_serverlist->servers[1]->drop_request); |
||||
|
||||
EXPECT_TRUE(c_serverlist->expiration_interval.has_seconds); |
||||
EXPECT_EQ(c_serverlist->expiration_interval.seconds, 888); |
||||
EXPECT_TRUE(c_serverlist->expiration_interval.has_nanos); |
||||
EXPECT_EQ(c_serverlist->expiration_interval.nanos, 999); |
||||
|
||||
gpr_slice_unref(encoded_slice); |
||||
grpc_grpclb_destroy_serverlist(c_serverlist); |
||||
} |
||||
|
||||
} // namespace
|
||||
} // namespace grpc
|
||||
|
||||
int main(int argc, char** argv) { |
||||
::testing::InitGoogleTest(&argc, argv); |
||||
return RUN_ALL_TESTS(); |
||||
} |
@ -0,0 +1,13 @@ |
||||
<?php |
||||
|
||||
$channel = new Grpc\Channel('localhost:1000', [ |
||||
'credentials' => Grpc\ChannelCredentials::createInsecure() |
||||
]); |
||||
|
||||
$deadline = Grpc\Timeval::infFuture(); |
||||
$call = new Grpc\Call($channel, |
||||
'dummy_method', |
||||
$deadline); |
||||
|
||||
$call->cancel(); |
||||
$channel->close(); |
@ -0,0 +1,39 @@ |
||||
#!/bin/bash |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
set -ex |
||||
|
||||
cd $(dirname $0) |
||||
|
||||
cp -r $EXTERNAL_GIT_ROOT/input_artifacts/grpc-php.tgz . |
||||
|
||||
pecl install grpc-php.tgz |
||||
|
||||
php -d extension=grpc.so -d max_execution_time=300 distribtest.php |
@ -0,0 +1 @@ |
||||
Subproject commit 5497a1dfc91a86965383cdd1652e348345400435 |
@ -0,0 +1,138 @@ |
||||
#!/bin/bash |
||||
|
||||
# Copyright 2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
# |
||||
# Example usage: |
||||
# tools/codegen/core/gen_load_balancing_proto.sh \ |
||||
# src/proto/grpc/lb/v0/load_balancer.proto |
||||
|
||||
read -r -d '' COPYRIGHT <<'EOF' |
||||
/* |
||||
* |
||||
* Copyright <YEAR>, Google Inc. |
||||
* All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions are |
||||
* met: |
||||
* |
||||
* * Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* * Redistributions in binary form must reproduce the above |
||||
* copyright notice, this list of conditions and the following disclaimer |
||||
* in the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* * Neither the name of Google Inc. nor the names of its |
||||
* contributors may be used to endorse or promote products derived from |
||||
* this software without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
*/ |
||||
|
||||
EOF |
||||
|
||||
CURRENT_YEAR=$(date +%Y) |
||||
COPYRIGHT_FILE=$(mktemp) |
||||
echo "${COPYRIGHT/<YEAR>/$CURRENT_YEAR}" > $COPYRIGHT_FILE |
||||
|
||||
set -ex |
||||
if [ $# -eq 0 ]; then |
||||
echo "Usage: $0 <load_balancer.proto> [output dir]" |
||||
exit 1 |
||||
fi |
||||
|
||||
readonly GRPC_ROOT=$PWD |
||||
|
||||
OUTPUT_DIR="$GRPC_ROOT/src/core/proto/grpc/lb/v0" |
||||
if [ $# -eq 2 ]; then |
||||
mkdir -p "$2" |
||||
if [ $? != 0 ]; then |
||||
echo "Error creating output directory $2" |
||||
exit 2 |
||||
fi |
||||
OUTPUT_DIR="$2" |
||||
fi |
||||
|
||||
readonly EXPECTED_OPTIONS_FILE_PATH="${1%.*}.options" |
||||
|
||||
if [[ ! -f "$1" ]]; then |
||||
echo "Input proto file '$1' doesn't exist." |
||||
exit 3 |
||||
fi |
||||
if [[ ! -f "${EXPECTED_OPTIONS_FILE_PATH}" ]]; then |
||||
echo "Expected nanopb options file '${EXPECTED_OPTIONS_FILE_PATH}' missing" |
||||
exit 4 |
||||
fi |
||||
|
||||
readonly VENV_DIR=$(mktemp -d) |
||||
readonly VENV_NAME="nanopb-$(date '+%Y%m%d_%H%M%S_%N')" |
||||
pushd $VENV_DIR |
||||
virtualenv $VENV_NAME |
||||
. $VENV_NAME/bin/activate |
||||
popd |
||||
|
||||
# this should be the same version as the submodule we compile against |
||||
# ideally we'd update this as a template to ensure that |
||||
pip install protobuf==3.0.0b2 |
||||
|
||||
pushd "$(dirname $1)" > /dev/null |
||||
|
||||
protoc \ |
||||
--plugin=protoc-gen-nanopb="$GRPC_ROOT/third_party/nanopb/generator/protoc-gen-nanopb" \ |
||||
--nanopb_out='-T -L#include\ \"third_party/nanopb/pb.h\"'":$OUTPUT_DIR" \ |
||||
"$(basename $1)" |
||||
|
||||
readonly PROTO_BASENAME=$(basename $1 .proto) |
||||
sed -i "s:$PROTO_BASENAME.pb.h:src/core/proto/grpc/lb/v0/$PROTO_BASENAME.pb.h:g" \ |
||||
"$OUTPUT_DIR/$PROTO_BASENAME.pb.c" |
||||
|
||||
# prepend copyright |
||||
TMPFILE=$(mktemp) |
||||
cat $COPYRIGHT_FILE "$OUTPUT_DIR/$PROTO_BASENAME.pb.c" > $TMPFILE |
||||
mv -v $TMPFILE "$OUTPUT_DIR/$PROTO_BASENAME.pb.c" |
||||
cat $COPYRIGHT_FILE "$OUTPUT_DIR/$PROTO_BASENAME.pb.h" > $TMPFILE |
||||
mv -v $TMPFILE "$OUTPUT_DIR/$PROTO_BASENAME.pb.h" |
||||
|
||||
deactivate |
||||
rm -rf $VENV_DIR |
||||
|
||||
popd > /dev/null |
@ -0,0 +1,68 @@ |
||||
#!/bin/bash |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
set -ex |
||||
|
||||
apt-get install -y autoconf automake libtool curl python-virtualenv |
||||
|
||||
readonly NANOPB_TMP_OUTPUT="$(mktemp -d)" |
||||
|
||||
# install protoc version 3 |
||||
pushd third_party/protobuf |
||||
./autogen.sh |
||||
./configure |
||||
make |
||||
make install |
||||
ldconfig |
||||
popd |
||||
|
||||
if [ ! -x "/usr/local/bin/protoc" ]; then |
||||
echo "Error: protoc not found in path" |
||||
exit 1 |
||||
fi |
||||
readonly PROTOC_PATH='/usr/local/bin' |
||||
# stack up and change to nanopb's proto generator directory |
||||
pushd third_party/nanopb/generator/proto |
||||
PATH="$PROTOC_PATH:$PATH" make |
||||
|
||||
# back to the root directory |
||||
popd |
||||
|
||||
|
||||
# nanopb-compile the proto to a temp location |
||||
PATH="$PROTOC_PATH:$PATH" ./tools/codegen/core/gen_load_balancing_proto.sh \ |
||||
src/proto/grpc/lb/v0/load_balancer.proto \ |
||||
$NANOPB_TMP_OUTPUT |
||||
|
||||
# compare outputs to checked compiled code |
||||
if ! diff -r $NANOPB_TMP_OUTPUT src/core/proto/grpc/lb/v0; then |
||||
echo "Outputs differ: $NANOPB_TMP_OUTPUT vs src/core/proto/grpc/lb/v0" |
||||
exit 2 |
||||
fi |
@ -0,0 +1,32 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM debian:jessie |
||||
|
||||
RUN apt-get update && apt-get install -y php5 php5-dev php-pear phpunit |
@ -0,0 +1,63 @@ |
||||
# Copyright 2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
# Docker file for building protoc and gRPC protoc plugin artifacts. |
||||
# forked from https://github.com/google/protobuf/blob/master/protoc-artifacts/Dockerfile |
||||
|
||||
FROM centos:6.6 |
||||
|
||||
RUN yum install -y git \ |
||||
tar \ |
||||
wget \ |
||||
make \ |
||||
autoconf \ |
||||
curl-devel \ |
||||
unzip \ |
||||
automake \ |
||||
libtool \ |
||||
glibc-static.i686 \ |
||||
glibc-devel \ |
||||
glibc-devel.i686 |
||||
|
||||
# Install GCC 4.7 to support -static-libstdc++ |
||||
RUN wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -P /etc/yum.repos.d |
||||
RUN bash -c 'echo "enabled=1" >> /etc/yum.repos.d/devtools-1.1.repo' |
||||
RUN bash -c "sed -e 's/\$basearch/i386/g' /etc/yum.repos.d/devtools-1.1.repo > /etc/yum.repos.d/devtools-i386-1.1.repo" |
||||
RUN sed -e 's/testing-/testing-i386-/g' -i /etc/yum.repos.d/devtools-i386-1.1.repo |
||||
|
||||
# We'll get and "Rpmdb checksum is invalid: dCDPT(pkg checksums)" error caused by |
||||
# docker issue when using overlay storage driver, but all the stuff we need |
||||
# will be installed, so for now we just ignore the error. |
||||
# https://github.com/docker/docker/issues/10180 |
||||
RUN yum install -y devtoolset-1.1 \ |
||||
devtoolset-1.1-libstdc++-devel \ |
||||
devtoolset-1.1-libstdc++-devel.i686 || true |
||||
|
||||
# Start in devtoolset environment that uses GCC 4.7 |
||||
CMD ["scl", "enable", "devtoolset-1.1", "bash"] |
@ -0,0 +1,84 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM debian:squeeze |
||||
|
||||
# Install Git and basic packages. |
||||
RUN apt-get update && apt-get install -y \ |
||||
autoconf \ |
||||
autotools-dev \ |
||||
build-essential \ |
||||
bzip2 \ |
||||
ccache \ |
||||
curl \ |
||||
gcc \ |
||||
gcc-multilib \ |
||||
git \ |
||||
gyp \ |
||||
lcov \ |
||||
libc6 \ |
||||
libc6-dbg \ |
||||
libc6-dev \ |
||||
libgtest-dev \ |
||||
libtool \ |
||||
make \ |
||||
perl \ |
||||
strace \ |
||||
python-dev \ |
||||
python-setuptools \ |
||||
python-yaml \ |
||||
telnet \ |
||||
unzip \ |
||||
wget \ |
||||
zip && apt-get clean |
||||
|
||||
#================ |
||||
# Build profiling |
||||
RUN apt-get update && apt-get install -y time && apt-get clean |
||||
|
||||
|
||||
# libgflags-dev is not available on squeezy |
||||
RUN apt-get update && apt-get -y install libgtest-dev libc++-dev clang && apt-get clean |
||||
|
||||
RUN apt-get update && apt-get -y install python-pip && apt-get clean |
||||
RUN pip install argparse |
||||
|
||||
# Prepare ccache |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/gcc |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/g++ |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/cc |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/c++ |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/clang |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/clang++ |
||||
|
||||
|
||||
RUN mkdir /var/local/jenkins |
||||
|
||||
# Define the default command. |
||||
CMD ["bash"] |
@ -0,0 +1,86 @@ |
||||
# Copyright 2015-2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
FROM ubuntu:16.04 |
||||
|
||||
# Install Git and basic packages. |
||||
RUN apt-get update && apt-get install -y \ |
||||
autoconf \ |
||||
autotools-dev \ |
||||
build-essential \ |
||||
bzip2 \ |
||||
ccache \ |
||||
curl \ |
||||
gcc \ |
||||
gcc-multilib \ |
||||
git \ |
||||
golang \ |
||||
gyp \ |
||||
lcov \ |
||||
libc6 \ |
||||
libc6-dbg \ |
||||
libc6-dev \ |
||||
libgtest-dev \ |
||||
libtool \ |
||||
make \ |
||||
perl \ |
||||
strace \ |
||||
python-dev \ |
||||
python-setuptools \ |
||||
python-yaml \ |
||||
telnet \ |
||||
unzip \ |
||||
wget \ |
||||
zip && apt-get clean |
||||
|
||||
#================ |
||||
# Build profiling |
||||
RUN apt-get update && apt-get install -y time && apt-get clean |
||||
|
||||
#================= |
||||
# C++ dependencies |
||||
RUN apt-get update && apt-get -y install libgflags-dev libgtest-dev libc++-dev clang && apt-get clean |
||||
|
||||
# Prepare ccache |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/gcc |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/g++ |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/cc |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/c++ |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/clang |
||||
RUN ln -s /usr/bin/ccache /usr/local/bin/clang++ |
||||
|
||||
#====================== |
||||
# Zookeeper dependencies |
||||
# TODO(jtattermusch): is zookeeper still needed? |
||||
RUN apt-get install -y libzookeeper-mt-dev |
||||
|
||||
RUN mkdir /var/local/jenkins |
||||
|
||||
# Define the default command. |
||||
CMD ["bash"] |
@ -0,0 +1,40 @@ |
||||
#!/bin/bash |
||||
# Copyright 2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
PHP_TARGET_ARCH=$1 |
||||
set -ex |
||||
|
||||
cd $(dirname $0)/../.. |
||||
|
||||
mkdir -p artifacts |
||||
|
||||
pear package |
||||
|
||||
cp -r grpc-*.tgz artifacts/grpc-php.tgz |
@ -0,0 +1,51 @@ |
||||
@rem Copyright 2016, Google Inc. |
||||
@rem All rights reserved. |
||||
@rem |
||||
@rem Redistribution and use in source and binary forms, with or without |
||||
@rem modification, are permitted provided that the following conditions are |
||||
@rem met: |
||||
@rem |
||||
@rem * Redistributions of source code must retain the above copyright |
||||
@rem notice, this list of conditions and the following disclaimer. |
||||
@rem * Redistributions in binary form must reproduce the above |
||||
@rem copyright notice, this list of conditions and the following disclaimer |
||||
@rem in the documentation and/or other materials provided with the |
||||
@rem distribution. |
||||
@rem * Neither the name of Google Inc. nor the names of its |
||||
@rem contributors may be used to endorse or promote products derived from |
||||
@rem this software without specific prior written permission. |
||||
@rem |
||||
@rem THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
@rem "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
@rem LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
@rem A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
@rem OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
@rem SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
@rem LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
@rem DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
@rem THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
@rem (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
@rem OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
mkdir artifacts |
||||
|
||||
setlocal |
||||
cd third_party/protobuf |
||||
|
||||
powershell -Command "Invoke-WebRequest https://googlemock.googlecode.com/files/gmock-1.7.0.zip -OutFile gmock.zip" |
||||
powershell -Command "Add-Type -Assembly 'System.IO.Compression.FileSystem'; [System.IO.Compression.ZipFile]::ExtractToDirectory('gmock.zip', '.');" |
||||
rename gmock-1.7.0 gmock |
||||
|
||||
cd cmake |
||||
cmake -G "%generator%" || goto :error |
||||
endlocal |
||||
|
||||
call vsprojects/build_plugins.bat || goto :error |
||||
|
||||
xcopy /Y third_party\protobuf\cmake\Release\protoc.exe artifacts\ || goto :error |
||||
xcopy /Y vsprojects\Release\*_plugin.exe artifacts\ || xcopy /Y vsprojects\x64\Release\*_plugin.exe artifacts\ || goto :error |
||||
|
||||
goto :EOF |
||||
|
||||
:error |
||||
exit /b 1 |
@ -0,0 +1,41 @@ |
||||
#!/bin/bash |
||||
# Copyright 2016, Google Inc. |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are |
||||
# met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright |
||||
# notice, this list of conditions and the following disclaimer. |
||||
# * Redistributions in binary form must reproduce the above |
||||
# copyright notice, this list of conditions and the following disclaimer |
||||
# in the documentation and/or other materials provided with the |
||||
# distribution. |
||||
# * Neither the name of Google Inc. nor the names of its |
||||
# contributors may be used to endorse or promote products derived from |
||||
# this software without specific prior written permission. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
||||
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
# Use devtoolset environment that has GCC 4.7 before set -ex |
||||
source scl_source enable devtoolset-1.1 |
||||
|
||||
set -ex |
||||
|
||||
cd $(dirname $0)/../.. |
||||
|
||||
make plugins |
||||
|
||||
mkdir -p artifacts |
||||
cp bins/opt/protobuf/protoc bins/opt/*_plugin artifacts/ |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue