Does protobuf-net have built-in compression for serialization?

No it does not; there is no “compression” as such specified in the protobuf spec; however, it does (by default) use “varint encoding” – a variable-length encoding for integer data that means small values use less space; so 0-127 take 1 byte plus the header. Note that varint by itself goes pretty loopy for negative … Read more

Getting started with protobuf-net

This must help you get started with it : Source & Credit & Marc Gravell The simplest way to get started is simply to write your data: class Person { public int Id {get;set;} public string Name {get;set;} public Address Address {get;set;} } class Address { public string Line1 {get;set;} public string Line2 {get;set;} } … Read more

How do I generate a .proto file from a C# class decorated with attributes?

Good news; what you have described (having existing C# classes) is the expected use-case of protobuf-net. All the .proto stuff (“protogen”, the VS add-in, etc) were all added as afterthoughts. The core of protobuf-net doesn’t know about them or care about them. protocol buffers defines a DSL (.proto, as you mention) that is shared between … Read more

How does protocol buffer handle versioning?

Google designed protobuf to be pretty forgiving with versioning: unexpected data is either stored as “extensions” (making it round-trip safe), or silently dropped, depending on the implementation new fields are generally added as “optional”, meaning that old data can be loaded successfully however: do not renumber fields – that would break existing data you should … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)