zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Samoilov <samoi...@gmail.com>
Subject Re: zoo_get - how to get full item?
Date Tue, 10 Jun 2014 07:43:27 GMT
Hi Michi,
Thank you for the tip about test code!
Unfortunately I miss something in you code example: how would it allow to
detect is data under "/path" bigger than 1024? This is my main problem: the
process that reads data does not know data size. I can read in a cycle
multiplying buffer by 2 till buffer_length will be less than sent but maybe
some better solution exists.

Thank you,
Denis


On Mon, Jun 9, 2014 at 9:28 PM, Michi Mutsuzaki <michi@cs.stanford.edu>
wrote:

> Hi Denis,
>
> You can use the unit test code for reference, but something like this
> should work (not tested).
>
> int buffer_length = 1024;
> char buffer[1024];
> zoo_get (handle, "/path", 0, buffer, &buffer_length, NULL);
>
>
> http://svn.apache.org/viewvc/zookeeper/trunk/src/c/tests/TestClient.cc?view=markup
>
>
> On Mon, Jun 9, 2014 at 8:55 PM, Denis Samoilov <samoilov@gmail.com> wrote:
> > hello,
> >
> > I am sorry for the very n00b question. But I read whole documentation,
> did
> > search for the archives but still do not understand how to get full data
> > from ZK using C binding zoo_get.
> >
> > I expect that
> > *buffer_len* is the size of the buffer
> > <
> http://zookeeper.sourcearchive.com/documentation/3.2.2plus-pdfsg3-2/structbuffer.html
> >
> > pointed to by the buffer
> > <
> http://zookeeper.sourcearchive.com/documentation/3.2.2plus-pdfsg3-2/structbuffer.html
> >
> > parameter. It'll be set to the actual data length upon return. If the
> data
> > is NULL, length is -1.
> >
> > will return me actual data size but it did not. So if I send buffer with
> > size 1 for the data size 3 it returns me 1 in buffer_len :(  (i expect 3
> to
> > allocate new buffer of size 3)
> >
> > It seem I miss something simple but cannot figure out what.
> >
> > Thank you,
> > Denis
>

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