1. 23 May, 2016 1 commit
  2. 28 Apr, 2016 1 commit
  3. 20 Apr, 2016 1 commit
    • Jon Skeet's avatar
      Add C# codegen changes to enum value names (mostly C++) · 75626ed7
      Jon Skeet authored
      Overview of changes:
      - A new C#-specific command-line option, legacy_enum_values to revert to the old behavior
      - When legacy_enum_values isn't specified, we strip the enum name as a prefix, and PascalCase the value name
      - A new attribute within the C# code so that we can always tell the original in-proto name
      
      Regenerating the C# code with legacy_enum_values leads to code which still compiles and works - but
      there's more still to do.
      75626ed7
  4. 30 Mar, 2016 1 commit
  5. 17 Mar, 2016 1 commit
    • Thomas Van Lenten's avatar
      Shrink ObjC overhead (generated size and some runtime sizes) · 79a23c43
      Thomas Van Lenten authored
      NOTE: This is a binary breaking change as structure sizes have changed size
      and/or order.
      
      - Drop capturing field options, no other options were captured and other mobile
        targeted languages don't try to capture this sort information (saved 8
        bytes for every field defined (in static data and again in field descriptor
        instance size data).
      - No longer generate/compile in the messages/enums in descriptor.proto. If
        developers need it, they should generate it and compile it in. Reduced the
        overhead of the core library.
      - Compute the number of has_bits actually needs to avoid over reserving.
      - Let the boolean single fields store via a has_bit to avoid storage, makes
        the common cases of the instance size smaller.
      - Reorder some flags and down size the enums to contain the bits needed.
      - Reorder the items in the structures to manually ensure they are are packed
        better (especially when generating 64bit code - 8 bytes for every field,
        16 bytes for every extension, instance sizes 8 bytes also).
      - Split off the structure initialization so when the default is zero, the
        generated static storage doesn't need to reserve the space. This is batched
        at the message level, so all the fields for the message have to have zero
        defaults to get the saves. By definition all proto3 syntax  files fall into
        this case but it also saves space for the proto2 that use the standard
        defaults. (saves 8 bytes of static data for every field that had a zero
        default)
      - Don't track the enums defined by a message. Nothing in the runtime needs it
        and it was just generation and runtime overhead. (saves 8 bytes per enum)
      - Ensure EnumDescriptors are started up threadsafe in all cases.
      - Split some of the Descriptor initialization into multiple methods so the
        generated code isn't padded with lots of zero/nil args.
      - Change how oneof info is feed to the runtime enabling us to generate less
        static data (8 bytes saved per oneof for 64bit).
      - Change how enum value informat is capture to pack the data and only decode
        it if it ends up being needed. Avoids padding issues causing bloat of 64bit,
        and removes the needs for extra pointers in addition to the data (just the
        data and one pointer now).
      79a23c43
  6. 08 Mar, 2016 1 commit
  7. 04 Mar, 2016 1 commit
  8. 04 Feb, 2016 2 commits
  9. 29 Jan, 2016 1 commit
    • Jisi Liu's avatar
      Integrate from google internal. · 5221dcbe
      Jisi Liu authored
      Java files are moved to un-do the hack in the prevous commit, which
      moved the java files to the original position for integration.
      5221dcbe
  10. 14 Jan, 2016 1 commit
  11. 07 Jan, 2016 1 commit
    • Feng Xiao's avatar
      Update README.md and remove INSTALL.txt · 64d86521
      Feng Xiao authored
      Added instructions on what tools to install to compile protobuf from
      source. Removed the INSTALL.txt file because it's just a simple copy of
      the autoconf documentation and confuses users.
      
      Change-Id: I6fd8aa13495f1238fe5c62451b95ad480b1c4bed
      64d86521
  12. 28 Dec, 2015 1 commit
  13. 17 Dec, 2015 1 commit
  14. 14 Dec, 2015 1 commit
  15. 12 Dec, 2015 1 commit
  16. 10 Dec, 2015 1 commit
  17. 16 Nov, 2015 1 commit
    • Thomas Van Lenten's avatar
      Cleanups of deps and ignores for conformance · 42f2eee9
      Thomas Van Lenten authored
      - Hopefully complete the deps for other languages for the generated conformance proto sources.
      - List the generated sources for cleanup by make's clean rules.
      - Make the toplevel nuke the pyc files that can get created in the ObjC dir.
      42f2eee9
  18. 09 Nov, 2015 1 commit
  19. 05 Nov, 2015 1 commit
    • Jon Skeet's avatar
      Created a new exception for JSON failures. · 0fb39c4a
      Jon Skeet authored
      This is only thrown directly by JsonTokenizer, but surfaces from JsonParser as well. I've added doc comments to hopefully make everything clear.
      
      The exception is actually thrown by the reader within JsonTokenizer, in anticipation of keeping track of the location within the document, but that change is not within this PR.
      0fb39c4a
  20. 03 Nov, 2015 1 commit
    • Jon Skeet's avatar
      Implement JSON parsing in C#. · fb248822
      Jon Skeet authored
      This includes all the well-known types except Any.
      Some aspects are likely to require further work when the details of the JSON parsing expectations are hammered out in more detail. Some of these have "ignored" tests already.
      
      Note that the choice *not* to use Json.NET was made for two reasons:
      - Going from 0 dependencies to 1 dependency is a big hit, and there's not much benefit here
      - Json.NET parses more leniently than we'd want; accommodating that would be nearly as much work as writing the tokenizer
      This only really affects the JsonTokenizer, which could be replaced by Json.NET. The JsonParser code would be about the same length with Json.NET... but I wouldn't be as confident in it.
      fb248822
  21. 05 Oct, 2015 1 commit
  22. 01 Oct, 2015 1 commit
  23. 04 Sep, 2015 1 commit
    • Jon Skeet's avatar
      Pack/Unpack implementation for Any. · e50461d8
      Jon Skeet authored
      We still need the JSON representation, which relies on something like a DescriptorPool to fetch message types from based on the type URL. That will come a bit later.
      (The DescriptorPool comment in this commit is just a note which will prove useful if we use DescriptorPool itself.)
      e50461d8
  24. 27 Aug, 2015 4 commits
  25. 26 Aug, 2015 1 commit
  26. 20 Aug, 2015 1 commit
  27. 03 Aug, 2015 1 commit
  28. 02 Aug, 2015 1 commit
  29. 30 Jul, 2015 2 commits
  30. 22 Jul, 2015 2 commits
  31. 17 Jul, 2015 1 commit
  32. 16 Jul, 2015 1 commit
  33. 18 Jun, 2015 1 commit
    • Jisi Liu's avatar
      Fix distcheck. · e6484d30
      Jisi Liu authored
      Change-Id: I74e2d5958b5e7b15d10e5a6468bca917323b9739
      e6484d30
  34. 17 Jun, 2015 1 commit
    • Jisi Liu's avatar
      Make the code independent of config.h · 78d470c7
      Jisi Liu authored
      Now the Build tool needs to define -DHAVE_ZLIB and -DHAVE-PTHREAD rather
      than providing a config.h
      
      - Make pbconfig.h a manually written file to handle hash conditions
        according to platform related macros.
      - Remove #include "config.h" from source code.
      - Changed the configure.ac and Makefile.am to pass down the macros.
      - Change cmake to pass down the the macros.
      
      Change-Id: I537249d5df8fdeba189706aec436d1ab1104a4dc
      78d470c7