On Thu, Feb 12, 2009 at 8:01 AM, <ray.rizz...@gmail.com> wrote:

> I just reread your post, and if I understand correctly has_*() does
> tell the receiver if an optional field was received or not.  At least,
> in C++ that is the case.

Right.  And in Java, Python, and hopefully all other languages.

> Someone on another team needs to use C#, and they are looking at the
> http://code.google.com/p/protobuf-net/ version.  However, they say
> that there is no way in C# to tell if the field is present or not when
> a message is received.  This seems like a very basic feature of the
> protocol, so I am very curious if this is true or not.

You'd have to ask Marc Gravell (cc'd) about that.

I'm pretty sure Jon Skeet's C# implementation provides has*() accessors,
since his implementation is a direct port of the official Java
implementation.  http://github.com/jskeet/dotnet-protobufs/tree/master

> On Feb 11, 6:34 pm, Kenton Varda <ken...@google.com> wrote:
> > Yes.  That's the purpose of has_*() --  to tell you if the field was/will
> be
> > sent explicitly.
> >
> > On Wed, Feb 11, 2009 at 3:09 PM, <ray.rizz...@gmail.com> wrote:
> >
> > > From what I have read, it seams that if I don't send an optional
> > > field, the field will have an explicit or implicit value at the
> > > receiver.  However, will functions like has_ in C++ know that the
> > > received message is missing the optional field?
> >

You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to protobuf@googlegroups.com
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to