Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Proto doesn't really have a schema. You can encode a proto of type X and tell your program to decode it as type Y, and it might work. Might not, but might. You can easily imagine messages that are isomorphic on the wire. E.g.

message X { optional string foo = 1; } message Y { optional X foo = 1; }

Encoded buffers of X will decode as Y just fine.



Sure, but it has more of a schema than JSON does :-) That's why I said "you can be REASONABLY sure you've got a valid message" (if it decodes successfully). It might not be the actual message you THINK it is, but at least all fields are going to be there.

Then again, if you're accepting arbitrary bytes off the wire and blindly assuming they're going to be the correct proto as long as they decode, you're... most stubby services I worked on. :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: