google-protobuf 3.16.0.rc.1-x86-linux → 3.17.0-x86-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of google-protobuf might be problematic. Click here for more details.
- checksums.yaml +4 -4
 - data/ext/google/protobuf_c/defs.c +35 -8
 - data/ext/google/protobuf_c/extconf.rb +1 -0
 - data/ext/google/protobuf_c/message.c +4 -1
 - data/ext/google/protobuf_c/protobuf.c +15 -8
 - data/lib/google/2.3/protobuf_c.so +0 -0
 - data/lib/google/2.4/protobuf_c.so +0 -0
 - data/lib/google/2.5/protobuf_c.so +0 -0
 - data/lib/google/2.6/protobuf_c.so +0 -0
 - data/lib/google/2.7/protobuf_c.so +0 -0
 - data/lib/google/3.0/protobuf_c.so +0 -0
 - metadata +5 -5
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 99d85ecc9d08e04b6c06966728396c2de08adf57933c343b4e51ff5ae27619b8
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b4538c4df38e56a3cba6e556ab25adeddf0509d01f21f19837b35708cafa226a
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 148effb1aed41258921c6e72a4c7aed042db7a9c17885c53b83dfca807094e194e3d27e97eb85032506b635a343584c137a0bd4933f4080ca5c4620bc6de8be8
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 78188180daa7adbd866c7da00b4746aa4aea33db95340be6c7c8dbb6b482bf59c71480562b74b3876078a2826844242960591aa1bf1f33a8d2bee23e205296df
         
     | 
| 
         @@ -868,6 +868,20 @@ static VALUE FieldDescriptor_default(VALUE _self) { 
     | 
|
| 
       868 
868 
     | 
    
         
             
              return Convert_UpbToRuby(default_val, TypeInfo_get(self->fielddef), Qnil);
         
     | 
| 
       869 
869 
     | 
    
         
             
            }
         
     | 
| 
       870 
870 
     | 
    
         | 
| 
      
 871 
     | 
    
         
            +
             
     | 
| 
      
 872 
     | 
    
         
            +
            /*
         
     | 
| 
      
 873 
     | 
    
         
            +
             * call-seq:
         
     | 
| 
      
 874 
     | 
    
         
            +
             *     FieldDescriptor.json_name => json_name
         
     | 
| 
      
 875 
     | 
    
         
            +
             *
         
     | 
| 
      
 876 
     | 
    
         
            +
             * Returns this field's json_name, as a Ruby string, or nil if not yet set.
         
     | 
| 
      
 877 
     | 
    
         
            +
             */
         
     | 
| 
      
 878 
     | 
    
         
            +
            static VALUE FieldDescriptor_json_name(VALUE _self) {
         
     | 
| 
      
 879 
     | 
    
         
            +
              FieldDescriptor* self = ruby_to_FieldDescriptor(_self);
         
     | 
| 
      
 880 
     | 
    
         
            +
              const upb_fielddef *f = self->fielddef;
         
     | 
| 
      
 881 
     | 
    
         
            +
              const char *json_name = upb_fielddef_jsonname(f);
         
     | 
| 
      
 882 
     | 
    
         
            +
              return rb_str_new2(json_name);
         
     | 
| 
      
 883 
     | 
    
         
            +
            }
         
     | 
| 
      
 884 
     | 
    
         
            +
             
     | 
| 
       871 
885 
     | 
    
         
             
            /*
         
     | 
| 
       872 
886 
     | 
    
         
             
             * call-seq:
         
     | 
| 
       873 
887 
     | 
    
         
             
             *     FieldDescriptor.label => label
         
     | 
| 
         @@ -1043,6 +1057,7 @@ static void FieldDescriptor_register(VALUE module) { 
     | 
|
| 
       1043 
1057 
     | 
    
         
             
              rb_define_method(klass, "name", FieldDescriptor_name, 0);
         
     | 
| 
       1044 
1058 
     | 
    
         
             
              rb_define_method(klass, "type", FieldDescriptor__type, 0);
         
     | 
| 
       1045 
1059 
     | 
    
         
             
              rb_define_method(klass, "default", FieldDescriptor_default, 0);
         
     | 
| 
      
 1060 
     | 
    
         
            +
              rb_define_method(klass, "json_name", FieldDescriptor_json_name, 0);
         
     | 
| 
       1046 
1061 
     | 
    
         
             
              rb_define_method(klass, "label", FieldDescriptor_label, 0);
         
     | 
| 
       1047 
1062 
     | 
    
         
             
              rb_define_method(klass, "number", FieldDescriptor_number, 0);
         
     | 
| 
       1048 
1063 
     | 
    
         
             
              rb_define_method(klass, "submsg_name", FieldDescriptor_submsg_name, 0);
         
     | 
| 
         @@ -1750,6 +1765,16 @@ static void msgdef_add_field(VALUE msgbuilder_rb, upb_label_t label, VALUE name, 
     | 
|
| 
       1750 
1765 
     | 
    
         
             
                      field_proto,
         
     | 
| 
       1751 
1766 
     | 
    
         
             
                      FileBuilderContext_strdup(self->file_builder, default_value));
         
     | 
| 
       1752 
1767 
     | 
    
         
             
                }
         
     | 
| 
      
 1768 
     | 
    
         
            +
             
     | 
| 
      
 1769 
     | 
    
         
            +
                if (rb_funcall(options, rb_intern("key?"), 1,
         
     | 
| 
      
 1770 
     | 
    
         
            +
                               ID2SYM(rb_intern("json_name"))) == Qtrue) {
         
     | 
| 
      
 1771 
     | 
    
         
            +
                  VALUE json_name =
         
     | 
| 
      
 1772 
     | 
    
         
            +
                      rb_hash_lookup(options, ID2SYM(rb_intern("json_name")));
         
     | 
| 
      
 1773 
     | 
    
         
            +
             
     | 
| 
      
 1774 
     | 
    
         
            +
                  google_protobuf_FieldDescriptorProto_set_json_name(
         
     | 
| 
      
 1775 
     | 
    
         
            +
                      field_proto,
         
     | 
| 
      
 1776 
     | 
    
         
            +
                      FileBuilderContext_strdup(self->file_builder, json_name));
         
     | 
| 
      
 1777 
     | 
    
         
            +
                }
         
     | 
| 
       1753 
1778 
     | 
    
         
             
              }
         
     | 
| 
       1754 
1779 
     | 
    
         | 
| 
       1755 
1780 
     | 
    
         
             
              if (oneof_index >= 0) {
         
     | 
| 
         @@ -1899,18 +1924,20 @@ static VALUE MessageBuilderContext_required(int argc, VALUE* argv, 
     | 
|
| 
       1899 
1924 
     | 
    
         
             
             */
         
     | 
| 
       1900 
1925 
     | 
    
         
             
            static VALUE MessageBuilderContext_repeated(int argc, VALUE* argv,
         
     | 
| 
       1901 
1926 
     | 
    
         
             
                                                        VALUE _self) {
         
     | 
| 
       1902 
     | 
    
         
            -
              VALUE name, type, number 
     | 
| 
      
 1927 
     | 
    
         
            +
              VALUE name, type, number;
         
     | 
| 
      
 1928 
     | 
    
         
            +
              VALUE type_class, options = Qnil;
         
     | 
| 
       1903 
1929 
     | 
    
         | 
| 
       1904 
     | 
    
         
            -
               
     | 
| 
       1905 
     | 
    
         
            -
             
     | 
| 
      
 1930 
     | 
    
         
            +
              rb_scan_args(argc, argv, "32", &name, &type, &number, &type_class, &options);
         
     | 
| 
      
 1931 
     | 
    
         
            +
             
     | 
| 
      
 1932 
     | 
    
         
            +
              // Allow passing (name, type, number, options) or
         
     | 
| 
      
 1933 
     | 
    
         
            +
              // (name, type, number, type_class, options)
         
     | 
| 
      
 1934 
     | 
    
         
            +
              if (argc == 4 && RB_TYPE_P(type_class, T_HASH)) {
         
     | 
| 
      
 1935 
     | 
    
         
            +
                options = type_class;
         
     | 
| 
      
 1936 
     | 
    
         
            +
                type_class = Qnil;
         
     | 
| 
       1906 
1937 
     | 
    
         
             
              }
         
     | 
| 
       1907 
     | 
    
         
            -
              name = argv[0];
         
     | 
| 
       1908 
     | 
    
         
            -
              type = argv[1];
         
     | 
| 
       1909 
     | 
    
         
            -
              number = argv[2];
         
     | 
| 
       1910 
     | 
    
         
            -
              type_class = (argc > 3) ? argv[3] : Qnil;
         
     | 
| 
       1911 
1938 
     | 
    
         | 
| 
       1912 
1939 
     | 
    
         
             
              msgdef_add_field(_self, UPB_LABEL_REPEATED, name, type, number, type_class,
         
     | 
| 
       1913 
     | 
    
         
            -
                                
     | 
| 
      
 1940 
     | 
    
         
            +
                               options, -1, false);
         
     | 
| 
       1914 
1941 
     | 
    
         | 
| 
       1915 
1942 
     | 
    
         
             
              return Qnil;
         
     | 
| 
       1916 
1943 
     | 
    
         
             
            }
         
     | 
| 
         @@ -734,7 +734,10 @@ uint64_t Message_Hash(const upb_msg* msg, const upb_msgdef* m, uint64_t seed) { 
     | 
|
| 
       734 
734 
     | 
    
         
             
             */
         
     | 
| 
       735 
735 
     | 
    
         
             
            static VALUE Message_hash(VALUE _self) {
         
     | 
| 
       736 
736 
     | 
    
         
             
              Message* self = ruby_to_Message(_self);
         
     | 
| 
       737 
     | 
    
         
            -
               
     | 
| 
      
 737 
     | 
    
         
            +
              uint64_t hash_value = Message_Hash(self->msg, self->msgdef, 0);
         
     | 
| 
      
 738 
     | 
    
         
            +
              // RUBY_FIXNUM_MAX should be one less than a power of 2.
         
     | 
| 
      
 739 
     | 
    
         
            +
              assert((RUBY_FIXNUM_MAX & (RUBY_FIXNUM_MAX + 1)) == 0);
         
     | 
| 
      
 740 
     | 
    
         
            +
              return INT2FIX(hash_value & RUBY_FIXNUM_MAX);
         
     | 
| 
       738 
741 
     | 
    
         
             
            }
         
     | 
| 
       739 
742 
     | 
    
         | 
| 
       740 
743 
     | 
    
         
             
            /*
         
     | 
| 
         @@ -180,6 +180,7 @@ static void Arena_mark(void *data) { 
     | 
|
| 
       180 
180 
     | 
    
         
             
            static void Arena_free(void *data) {
         
     | 
| 
       181 
181 
     | 
    
         
             
              Arena *arena = data;
         
     | 
| 
       182 
182 
     | 
    
         
             
              upb_arena_free(arena->arena);
         
     | 
| 
      
 183 
     | 
    
         
            +
              xfree(arena);
         
     | 
| 
       183 
184 
     | 
    
         
             
            }
         
     | 
| 
       184 
185 
     | 
    
         | 
| 
       185 
186 
     | 
    
         
             
            static VALUE cArena;
         
     | 
| 
         @@ -237,8 +238,16 @@ void Arena_register(VALUE module) { 
     | 
|
| 
       237 
238 
     | 
    
         
             
            // We use WeakMap for the cache. For Ruby <2.7 we also need a secondary Hash
         
     | 
| 
       238 
239 
     | 
    
         
             
            // to store WeakMap keys because Ruby <2.7 WeakMap doesn't allow non-finalizable
         
     | 
| 
       239 
240 
     | 
    
         
             
            // keys.
         
     | 
| 
       240 
     | 
    
         
            -
             
     | 
| 
       241 
     | 
    
         
            -
             
     | 
| 
      
 241 
     | 
    
         
            +
            //
         
     | 
| 
      
 242 
     | 
    
         
            +
            // We also need the secondary Hash if sizeof(long) < sizeof(VALUE), because this
         
     | 
| 
      
 243 
     | 
    
         
            +
            // means it may not be possible to fit a pointer into a Fixnum. Keys are
         
     | 
| 
      
 244 
     | 
    
         
            +
            // pointers, and if they fit into a Fixnum, Ruby doesn't collect them, but if
         
     | 
| 
      
 245 
     | 
    
         
            +
            // they overflow and require allocating a Bignum, they could get collected
         
     | 
| 
      
 246 
     | 
    
         
            +
            // prematurely, thus removing the cache entry. This happens on 64-bit Windows,
         
     | 
| 
      
 247 
     | 
    
         
            +
            // on which pointers are 64 bits but longs are 32 bits. In this case, we enable
         
     | 
| 
      
 248 
     | 
    
         
            +
            // the secondary Hash to hold the keys and prevent them from being collected.
         
     | 
| 
      
 249 
     | 
    
         
            +
             
     | 
| 
      
 250 
     | 
    
         
            +
            #if RUBY_API_VERSION_CODE >= 20700 && SIZEOF_LONG >= SIZEOF_VALUE
         
     | 
| 
       242 
251 
     | 
    
         
             
            #define USE_SECONDARY_MAP 0
         
     | 
| 
       243 
252 
     | 
    
         
             
            #else
         
     | 
| 
       244 
253 
     | 
    
         
             
            #define USE_SECONDARY_MAP 1
         
     | 
| 
         @@ -325,7 +334,7 @@ static VALUE SecondaryMap_Get(VALUE key, bool create) { 
     | 
|
| 
       325 
334 
     | 
    
         
             
              VALUE ret = rb_hash_lookup(secondary_map, key);
         
     | 
| 
       326 
335 
     | 
    
         
             
              if (ret == Qnil && create) {
         
     | 
| 
       327 
336 
     | 
    
         
             
                SecondaryMap_MaybeGC();
         
     | 
| 
       328 
     | 
    
         
            -
                ret =  
     | 
| 
      
 337 
     | 
    
         
            +
                ret = rb_class_new_instance(0, NULL, rb_cObject);
         
     | 
| 
       329 
338 
     | 
    
         
             
                rb_hash_aset(secondary_map, key, ret);
         
     | 
| 
       330 
339 
     | 
    
         
             
              }
         
     | 
| 
       331 
340 
     | 
    
         
             
              return ret;
         
     | 
| 
         @@ -335,11 +344,9 @@ static VALUE SecondaryMap_Get(VALUE key, bool create) { 
     | 
|
| 
       335 
344 
     | 
    
         | 
| 
       336 
345 
     | 
    
         
             
            // Requires: secondary_map_mutex is held by this thread iff create == true.
         
     | 
| 
       337 
346 
     | 
    
         
             
            static VALUE ObjectCache_GetKey(const void* key, bool create) {
         
     | 
| 
       338 
     | 
    
         
            -
               
     | 
| 
       339 
     | 
    
         
            -
               
     | 
| 
       340 
     | 
    
         
            -
               
     | 
| 
       341 
     | 
    
         
            -
              PBRUBY_ASSERT((key_int & 3) == 0);
         
     | 
| 
       342 
     | 
    
         
            -
              VALUE ret = LL2NUM(key_int >> 2);
         
     | 
| 
      
 347 
     | 
    
         
            +
              VALUE key_val = (VALUE)key;
         
     | 
| 
      
 348 
     | 
    
         
            +
              PBRUBY_ASSERT((key_val & 3) == 0);
         
     | 
| 
      
 349 
     | 
    
         
            +
              VALUE ret = LL2NUM(key_val >> 2);
         
     | 
| 
       343 
350 
     | 
    
         
             
            #if USE_SECONDARY_MAP
         
     | 
| 
       344 
351 
     | 
    
         
             
              ret = SecondaryMap_Get(ret, create);
         
     | 
| 
       345 
352 
     | 
    
         
             
            #endif
         
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
| 
         Binary file 
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: google-protobuf
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 3.17.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: x86-linux
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Protobuf Authors
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2021- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-05-12 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rake-compiler-dock
         
     | 
| 
         @@ -128,7 +128,7 @@ homepage: https://developers.google.com/protocol-buffers 
     | 
|
| 
       128 
128 
     | 
    
         
             
            licenses:
         
     | 
| 
       129 
129 
     | 
    
         
             
            - BSD-3-Clause
         
     | 
| 
       130 
130 
     | 
    
         
             
            metadata:
         
     | 
| 
       131 
     | 
    
         
            -
              source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3. 
     | 
| 
      
 131 
     | 
    
         
            +
              source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.17.0/ruby
         
     | 
| 
       132 
132 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       133 
133 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       134 
134 
     | 
    
         
             
            require_paths:
         
     | 
| 
         @@ -143,9 +143,9 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       143 
143 
     | 
    
         
             
                  version: 3.1.dev
         
     | 
| 
       144 
144 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       145 
145 
     | 
    
         
             
              requirements:
         
     | 
| 
       146 
     | 
    
         
            -
              - - " 
     | 
| 
      
 146 
     | 
    
         
            +
              - - ">="
         
     | 
| 
       147 
147 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       148 
     | 
    
         
            -
                  version:  
     | 
| 
      
 148 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
       149 
149 
     | 
    
         
             
            requirements: []
         
     | 
| 
       150 
150 
     | 
    
         
             
            rubygems_version: 3.2.3
         
     | 
| 
       151 
151 
     | 
    
         
             
            signing_key: 
         
     |