For a single Text or Data blob there is a hard limit of 512MB. You can,
however, construct a message which contains multiple blobs, e.g. use
`List(Text)`. Such a message can be up to 2^64 bytes.

If I were redesigning the encoding from scratch I'd probably allow for
bigger individual blobs but there's no way to introduce them now without
breaking compatibility, unfortunately.

Protobuf theoretically supports 2GB messages but because the messages have
to be parsed upfront in O(n) time, you won't have good results with
messages of that size. Cap'n Proto, on the other hand, quite comfortably
supports multi-GB messages since you can mmap() the message and randomly
access it in O(1) time.

-Kenton

On Mon, Oct 31, 2022 at 2:21 PM Josemi <josemi....@gmail.com> wrote:

> Hello.
>
> I need to work with an structured data that have atributes with undefined
> lenght, some of them could have GB.
>
> I have been using Protocol Buffers for it until I see that exists a hard
> limit of 2GB per message.   Then I see this Stack Overflow solution
> <https://stackoverflow.com/questions/34128872/google-protobuf-maximum-size>.
> It says that  Cap'n Proto "can support messages up to 2^64 bytes (2^32
> segments of 4GB each)"
>
> I reprogram the code and now it raise the error  *capnp.lib.capnp.KjException:
> capnp/layout.c++:1694: failed: text blob too big  * trying to set a 0.8
> GB buffer to a Data type.
>
> On Cap'n Proto the atribute seems like that:
> *file @1 :Data; # ptr[1],*
>
> And the code, in Python,  is something like:
> file = open('data_file', 'rb').read()
>
>
> Whats wrong with that.
> Cap'n Proto won't solve my problem?.
>
> Thanks.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Cap'n Proto" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to capnproto+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/capnproto/8a23280b-b43b-483a-94db-7fd94bba93een%40googlegroups.com
> <https://groups.google.com/d/msgid/capnproto/8a23280b-b43b-483a-94db-7fd94bba93een%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Cap'n Proto" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to capnproto+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/capnproto/CAJouXQk0hybS%2Bc21E7NagDBQqNcCaXkTHWoPsmAT%3DiwNdHjfwg%40mail.gmail.com.

Reply via email to