[protobuf] Re: A first chance exception of type 'System.IO.EndOfStreamException' occurred in protobuf-net.DLL

2014-04-23 Thread Empi
Hi.

I'll answer my silly question myself, May be it will helo someone in the 
future.

The protobuf doesn't take care of frame fragmantation.
Tcp/ip might (and would when data size grow, as was in my case) fragmant 
the serialized data into several packets.
If you try to deserialize a partial data stream, it would end up trying to 
read past the end of the stream... sound like 'System.IO.EndOfStreamException' 
...

We should use an additional layer for buffering the info, desirializing it 
only when all data has arrived.
In addition, I've added a fixed field with fixed value at the start of the 
serialized data for  sanity check on the data length location and 
serialized data validity.

Hope it will help somene...

Thanks.

Empi

-- 
You received this message because you are subscribed to the Google Groups 
Protocol Buffers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.


[protobuf] Re: A first chance exception of type 'System.IO.EndOfStreamException' occurred in protobuf-net.DLL

2014-04-23 Thread Empi
Hi.

I'll answer my silly question myself, May be it will helo someone in the 
future.

The protobuf doesn't take care of frame fragmantation.
Tcp/ip might (and would when data size grow, as was in my case) fragmant 
the serialized data into several packets.
If you try to deserialize a partial data stream, it would end up trying to 
read past the end of the stream... sound like 'System.IO.EndOfStreamException' 
...

We should use an additional layer for buffering the info, desirializing it 
only when all data has arrived.
In addition, I've added a fixed field with fixed value at the start of the 
serialized data for  sanity check on the data length location and 
serialized data validity.

Hope it will help somene...

Thanks.

Empi

-- 
You received this message because you are subscribed to the Google Groups 
Protocol Buffers group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to protobuf+unsubscr...@googlegroups.com.
To post to this group, send email to protobuf@googlegroups.com.
Visit this group at http://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.