thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From thrift thrift <thriftu...@gmail.com>
Subject Re: about optinal field
Date Tue, 11 May 2010 05:40:01 GMT
Thanks everyone.
I used C++ and I followed Mark's way. It works well then

reverseRequest.__isset.int_value = true;

But there is no explaination about this in the tutorial. I think
documentation needs to be imporved in the future.

Thanks very much.

2010/5/11 Bryan Duxbury <bryan@rapleaf.com>

> Or, in Java, use the "private-members" option to force yourself to use the
> accessors.
>
> On Mon, May 10, 2010 at 2:36 PM, Mark Slee <mslee@facebook.com> wrote:
>
> > Is this Java or C++?
> >
> > > >    ReverseRequest reverseRequest;
> > > >    reverseRequest.text = "test";
> > > >    reverseRequest.int_value = 50;
> >
> > Try adding (C++):
> > reverseRequest.__isset.text = true;
> > reverseRequest.__isset.int_value = true;
> >
> > Or (Java):
> > reverseRequest.setText("test");
> > reverseRequest.setIntValue(50);
> >
> >
> > If fields are explicitly marked optional, you need to flag the isset bits
> > to indicate that they are considered present.
> >
> > Cheers,
> > mcslee
> >
> > -----Original Message-----
> > From: Noam Wolf [mailto:noam.wolf@gmail.com]
> > Sent: Monday, May 10, 2010 7:28 AM
> > To: thrift-user@incubator.apache.org
> > Subject: Re: about optinal field
> >
> > Can you provide more code of how you're actually passing the response
> back
> > to the client?
> >
> > On Mon, May 10, 2010 at 10:24 AM, Bryan Duxbury <bryan@rapleaf.com>
> wrote:
> >
> > > What language are your clients and servers?
> > >
> > > On Mon, May 10, 2010 at 6:41 AM, thrift thrift <thriftuser@gmail.com>
> > > wrote:
> > >
> > > > Hi,
> > > >      I met a weard problem like below.
> > > >
> > > > I have two struct
> > > >
> > > > struct ReverseRequest {
> > > >   1: string text,
> > > >   2: optional i32 int_value,
> > > > }
> > > > struct ReverseResponse {
> > > >   1: string reversed_text,
> > > >   2: optional i32 reversed_int_value,
> > > > }
> > > >
> > > > In client side, it set like
> > > >
> > > >    ReverseRequest reverseRequest;
> > > >    reverseRequest.text = "test";
> > > >    reverseRequest.int_value = 50;
> > > >
> > > > and
> > > > When I tried to get response from client
> > > > I used
> > > > ReverseResponse reverseResponse;
> > > > reverseResponse.reversed_int_value;
> > > >
> > > > The thing is that if I use optional keyword, then response will be 0,
> > if
> > > > not, the response is 50. But even when I use optional, I also set the
> > > > int_value and reversed_int_value. Why 0 is returned?
> > > >
> > >
> >
> >
> >
> > --
> > Best Regards,
> > Noam Wolf
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message