google-protobuf 3.17.3 → 3.19.6
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/convert.c +4 -5
 - data/ext/google/protobuf_c/defs.c +26 -1326
 - data/ext/google/protobuf_c/extconf.rb +0 -1
 - data/ext/google/protobuf_c/map.c +3 -0
 - data/ext/google/protobuf_c/message.c +3 -3
 - data/ext/google/protobuf_c/repeated_field.c +1 -1
 - data/ext/google/protobuf_c/ruby-upb.c +604 -291
 - data/ext/google/protobuf_c/ruby-upb.h +420 -127
 - data/lib/google/protobuf/api_pb.rb +1 -0
 - data/lib/google/protobuf/descriptor_dsl.rb +458 -0
 - data/lib/google/protobuf/descriptor_pb.rb +268 -0
 - data/lib/google/protobuf/type_pb.rb +1 -0
 - data/lib/google/protobuf/well_known_types.rb +5 -0
 - data/lib/google/protobuf.rb +1 -69
 - data/tests/basic.rb +38 -1
 - data/tests/stress.rb +1 -1
 - metadata +8 -27
 - data/ext/google/protobuf_c/third_party/wyhash/wyhash.h +0 -145
 
    
        data/ext/google/protobuf_c/map.c
    CHANGED
    
    | 
         @@ -680,7 +680,10 @@ void Map_register(VALUE module) { 
     | 
|
| 
       680 
680 
     | 
    
         
             
              rb_define_method(klass, "delete", Map_delete, 1);
         
     | 
| 
       681 
681 
     | 
    
         
             
              rb_define_method(klass, "clear", Map_clear, 0);
         
     | 
| 
       682 
682 
     | 
    
         
             
              rb_define_method(klass, "length", Map_length, 0);
         
     | 
| 
      
 683 
     | 
    
         
            +
              rb_define_method(klass, "size", Map_length, 0);
         
     | 
| 
       683 
684 
     | 
    
         
             
              rb_define_method(klass, "dup", Map_dup, 0);
         
     | 
| 
      
 685 
     | 
    
         
            +
              // Also define #clone so that we don't inherit Object#clone.
         
     | 
| 
      
 686 
     | 
    
         
            +
              rb_define_method(klass, "clone", Map_dup, 0);
         
     | 
| 
       684 
687 
     | 
    
         
             
              rb_define_method(klass, "==", Map_eq, 1);
         
     | 
| 
       685 
688 
     | 
    
         
             
              rb_define_method(klass, "freeze", Map_freeze, 0);
         
     | 
| 
       686 
689 
     | 
    
         
             
              rb_define_method(klass, "hash", Map_hash, 0);
         
     | 
| 
         @@ -35,7 +35,6 @@ 
     | 
|
| 
       35 
35 
     | 
    
         
             
            #include "map.h"
         
     | 
| 
       36 
36 
     | 
    
         
             
            #include "protobuf.h"
         
     | 
| 
       37 
37 
     | 
    
         
             
            #include "repeated_field.h"
         
     | 
| 
       38 
     | 
    
         
            -
            #include "third_party/wyhash/wyhash.h"
         
     | 
| 
       39 
38 
     | 
    
         | 
| 
       40 
39 
     | 
    
         
             
            static VALUE cParseError = Qnil;
         
     | 
| 
       41 
40 
     | 
    
         
             
            static ID descriptor_instancevar_interned;
         
     | 
| 
         @@ -717,7 +716,7 @@ uint64_t Message_Hash(const upb_msg* msg, const upb_msgdef* m, uint64_t seed) { 
     | 
|
| 
       717 
716 
     | 
    
         
             
                                   &size);
         
     | 
| 
       718 
717 
     | 
    
         | 
| 
       719 
718 
     | 
    
         
             
              if (data) {
         
     | 
| 
       720 
     | 
    
         
            -
                uint64_t ret =  
     | 
| 
      
 719 
     | 
    
         
            +
                uint64_t ret = Wyhash(data, size, seed, kWyhashSalt);
         
     | 
| 
       721 
720 
     | 
    
         
             
                upb_arena_free(arena);
         
     | 
| 
       722 
721 
     | 
    
         
             
                return ret;
         
     | 
| 
       723 
722 
     | 
    
         
             
              } else {
         
     | 
| 
         @@ -1013,7 +1012,6 @@ static VALUE Message_decode_json(int argc, VALUE* argv, VALUE klass) { 
     | 
|
| 
       1013 
1012 
     | 
    
         
             
             */
         
     | 
| 
       1014 
1013 
     | 
    
         
             
            static VALUE Message_encode(VALUE klass, VALUE msg_rb) {
         
     | 
| 
       1015 
1014 
     | 
    
         
             
              Message* msg = ruby_to_Message(msg_rb);
         
     | 
| 
       1016 
     | 
    
         
            -
              upb_arena *arena = upb_arena_new();
         
     | 
| 
       1017 
1015 
     | 
    
         
             
              const char *data;
         
     | 
| 
       1018 
1016 
     | 
    
         
             
              size_t size;
         
     | 
| 
       1019 
1017 
     | 
    
         | 
| 
         @@ -1021,6 +1019,8 @@ static VALUE Message_encode(VALUE klass, VALUE msg_rb) { 
     | 
|
| 
       1021 
1019 
     | 
    
         
             
                rb_raise(rb_eArgError, "Message of wrong type.");
         
     | 
| 
       1022 
1020 
     | 
    
         
             
              }
         
     | 
| 
       1023 
1021 
     | 
    
         | 
| 
      
 1022 
     | 
    
         
            +
              upb_arena *arena = upb_arena_new();
         
     | 
| 
      
 1023 
     | 
    
         
            +
             
     | 
| 
       1024 
1024 
     | 
    
         
             
              data = upb_encode(msg->msg, upb_msgdef_layout(msg->msgdef), arena,
         
     | 
| 
       1025 
1025 
     | 
    
         
             
                                &size);
         
     | 
| 
       1026 
1026 
     | 
    
         | 
| 
         @@ -34,7 +34,6 @@ 
     | 
|
| 
       34 
34 
     | 
    
         
             
            #include "defs.h"
         
     | 
| 
       35 
35 
     | 
    
         
             
            #include "message.h"
         
     | 
| 
       36 
36 
     | 
    
         
             
            #include "protobuf.h"
         
     | 
| 
       37 
     | 
    
         
            -
            #include "third_party/wyhash/wyhash.h"
         
     | 
| 
       38 
37 
     | 
    
         | 
| 
       39 
38 
     | 
    
         
             
            // -----------------------------------------------------------------------------
         
     | 
| 
       40 
39 
     | 
    
         
             
            // Repeated field container type.
         
     | 
| 
         @@ -552,6 +551,7 @@ VALUE RepeatedField_plus(VALUE _self, VALUE list) { 
     | 
|
| 
       552 
551 
     | 
    
         
             
                RepeatedField* dupped = ruby_to_RepeatedField(dupped_);
         
     | 
| 
       553 
552 
     | 
    
         
             
                upb_array *dupped_array = RepeatedField_GetMutable(dupped_);
         
     | 
| 
       554 
553 
     | 
    
         
             
                upb_arena* arena = Arena_get(dupped->arena);
         
     | 
| 
      
 554 
     | 
    
         
            +
                Arena_fuse(list_rptfield->arena, arena);
         
     | 
| 
       555 
555 
     | 
    
         
             
                int size = upb_array_size(list_rptfield->array);
         
     | 
| 
       556 
556 
     | 
    
         
             
                int i;
         
     | 
| 
       557 
557 
     | 
    
         |