help-gnunet
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-gnunet] Sending large data


From: Christian Grothoff
Subject: Re: [Help-gnunet] Sending large data
Date: Wed, 16 Oct 2019 22:09:57 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

On 10/16/19 6:47 PM, Alessio Vanni wrote:
> I have a client which can send arbitrary data to a service.  This data
> can be of any size and in particular I expect it to generally be larger
> than `GNUNET_MAX_MESSAGE_SIZE'.  The service can also do something
> similar over CADET (sending large data to another peer), under different
> circumstances.

Hint: GNUNET_MAX_MESSAGE_SIZE is the maximum message size for the MQ-API
ever, but individual services may even impose lower limits. Still,
that's not the issue here ;-).

> I tried segmenting the message in a fairly simple way, but the service
> seems to receive only the very first segment and I can't tell what the
> problem is.  Is it because the service does not call
> `GNUNET_SERVICE_client_continue' fast enough? 

Segmenting is the right answer. As for 'fast enough', there is usually
no requirement on how fast you call those APIs. However, for a CADET
channel, the receiver must call "GNUNET_CADET_receive_done" after each
message. Until you call that function, you won't get another one. So the
most likely problem is that you failed to call this function after
receiving the first segment.


> I can only think of that
> as the possible culprit.  I haven't checked what happens over CADET yet.
> 
> What could be the real problem and how can I send large data properly?

Segmentation is the answer.

I hope this helps!

Happy hacking!

Christian

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]