Re: [capnproto] [Feature Request] Putting List() object at last and allow reuse of the MallocMessageBuilder

2022-12-12 Thread Hui min
list to make it > longer. To be able to extend your list, you will need the list to contain > only primitive types, so that it stays at the end of the message. > > -Kenton > > On Sat, Nov 5, 2022 at 9:16 PM Hui min wrote: > >> Hi Cap'n Proto Team, >> >> Thanks for

[capnproto] capnp::messageToFlatArray to pre-allocated buffer?

2022-11-05 Thread Hui min
Hi CapnProto Team, I understand the API to obtain a flat buffer of the built message is capnp::messageToFlatArray. However, the current API forces you to save the buffer on a returned kj::Array words object. Is there a way I could pass in a pre-allocated buffer, and let CapnProto to use that

[capnproto] [Feature Request] Putting List() object at last and allow reuse of the MallocMessageBuilder

2022-11-05 Thread Hui min
Hi Cap'n Proto Team, Thanks for the amazing tool you have created so far. Understand that with the current design of arena style memory allocation, we cannot simply reuse the message, and re-init List() object to send it again. This will cause the message to grow every time we send (memory

Re: [capnproto] Performance of iterating through List vs. raw Data

2022-09-21 Thread Hui min
Another comment, I would also agree probably using raw data as the type is more appropriate, with a metadata information to encode the endianess. This would be similiar to http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/PointCloud2.html On Thursday, 15 August 2019 at 3:25:09 pm UTC+8

Re: [capnproto] Performance of iterating through List vs. raw Data

2022-09-21 Thread Hui min
I want to ask a related question, and found out this thread. >From what I understand in the discussion, if I have struct Vector3d { x @0 :Float64; y @1 :Float64; z @2 :Float64; } and then struct Point3Array { data @0 :List(Vector3d); } Will i get a perfectly packed array of Vector3d in