http://github.com/h4ck3rm1k3/OSM-Osmosis/commit/714be97af12698f83152d2c1d0e407337e82803b
mike
> --
> You received this message because you are subscribed to the Google Groups "Protocol Buffers" group.
> To post to this group, send email to prot...@googlegroups.com.
> To unsubscribe from this group, send email to protobuf+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.
>
>
--
James Michael DuPont
Member of Free Libre Open Source Software Kosova and Albania
flossk.org flossal.org
The documentation states:
block_size is mainly useful for testing; in production you would
probably never want to set it.
So you should get rid of the "sizeof(char)" part.
> cos->WriteLittleEndian32(msg.ByteSize()); //Tryed
> "WriteVariant32", didn't help
> msg.SerializeToCodedStream(cos);
If you want to use Java's .parseDelimitedFrom, you *must* use
WriteVarint32, because that is the format it expects the length
prefix. In this case, you'll need to call ArrayOutputStream::
ByteCount() to figure out how many bytes were actually serialized.
You also probably should create the ArrayOutputStream and
CodedOutputStream on the stack, rather than using new. This will be
slightly faster.
That said, the only issue here that affects correctness is the
WriteVarint32 part. The rest shouldn't matter unless I missed
something. You should change your code to do that, then if you are
still having problems you should try dumping the contents of the
buffer on both the C++ and the Java side. Maybe the input/output is
getting messed up somewhere?
Good luck,
Evan
--
Evan Jones
http://evanjones.ca/
0 0 0 18 might be the lenght that you are not reading first.
mike
> For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.
I watched on both buffers: they are similar, but in C++ I can't find a
leading Variant32 with size, when in Java it exists. The rests of
buffers are identical.
http://pic4.ru/8337
http://pic4.ru/8338
http://pic4.ru/8339
the leading variant in c++ is most likely in the wrong byte order if
you are running a x86 machine. as i said, you need to flip them.
mike