Open GoogleCodeExporter opened 9 years ago
Actually, I would expect that scenario to throw an exception; directly nested
lists (including jagged arrays, etc) cannot be represented directly in a
protobuf stream - it is usually necessary to add an intermediate layer, i.e.
an array of an object that *contains* a list.
This error certainly happens for such constructs *inside* a type model - a list
at the root of the graph is slightly different; I'll see if I can make it throw
the correct message.
Original comment by marc.gravell
on 23 Jun 2011 at 11:34
This scenario is now correctly detected and an exception thrown
Original comment by marc.gravell
on 25 Jun 2011 at 9:50
Hello Marc,
Thanks for all the effort!
Still i wonder what's the idea behind the design that "directly nested lists
could not be represented directly in a protobuf stream"?
Would you pls share the idea with us?
Thanks a lot!
The improvement in serialization/dese efficiency is amazing over the .Net
version!
Original comment by ramisyua...@gmail.com
on 27 Jun 2011 at 12:52
This is a side-effect of the protobuf stream format, as defined by google, and
how "repeated" data is packed without any additional markers. However, thinking
about it now I *can* see a way I could make this work... but the important
thing is that it works the same for the two scenarios ;p
I'll re-open this, and see if I can get that hacked in at some point.
Original comment by marc.gravell
on 27 Jun 2011 at 8:54
Thanks again for all the effort!
Original comment by ramisyua...@gmail.com
on 28 Jun 2011 at 5:18
Hi Marc,
I've just encountered it as well on my own, when trying to store something like
a List<List<X>>...
At first I didn't understand the true meaning of the limitation, so I tried to
define a class like ListOfX and try to serialize a List<ListOfX> but protobuf
detects this too...
Is there something simple that can be done with this?
You mentioned that you are re-opening the bug since you now think this can be
solved within google's own spec... so here' me hoping... :)
Original comment by d...@houmus.org
on 2 Oct 2011 at 4:48
Is this issue fixed or if not can anyone give a workaround? I have a jagged
array in my class. I cannot change it to an array of array(according to the
workaround provided by Marc in in this thread.
http://stackoverflow.com/questions/11134370/proto-buf-net-and-serialization)
because this is an existing application and it's complex that we don't know the
impact of changing the data structure. I also don't understand what is the
workaround explained in this thread.
http://stackoverflow.com/questions/4090173/using-protobuf-net-how-to-deserialize
-a-multi-dimensional-array
Original comment by vbsat...@gmail.com
on 26 Apr 2013 at 3:10
I wouldn't say "fixed" is the right word, as if anything it is a feature
request. I have something in mind - getting the time is the trick :) I should
have some this weekend/week.
Original comment by marc.gravell
on 26 Apr 2013 at 3:15
Thank you so much for quick response. appreciate it.
Original comment by vbsat...@gmail.com
on 26 Apr 2013 at 3:19
Original issue reported on code.google.com by
ramisyua...@gmail.com
on 23 Jun 2011 at 5:26