Thanks! That's all I needed to hear.
I should add that to the document and add 1-pass scan over the output 
segments to compare with allocated segments.
Thanks for clarifying.

Best regards,
Jun

On Saturday, August 18, 2018 at 7:46:49 AM UTC+9, Kenton Varda wrote:
>
> Hi Junhyun,
>
> I think that, at present, the only thing that would break your assumptions 
> is Orphanage::referenceExternalData(). You could, of course, document that 
> your MessageBuilder does not permit referencing external data.
>
> Other than that, I think your assumptions currently hold -- but I don't 
> know if I'd be comfortable guaranteeing them. It's better if you can look 
> at what getSegmentForOutput() returns and handle any discrepancies between 
> that and what you were expecting.
>
> -Kenton
>
> On Thu, Aug 16, 2018 at 9:34 PM, Junhyun Shim <[email protected] 
> <javascript:>> wrote:
>
>> Hi,
>>
>> I'm currently writing a custom impl. of MessageBuilder (with overridden 
>> allocateSegment virtual method that produces moveable, shallow-cloneable 
>> buffers),
>> that, after fleshing out the capnproto message as a whole, produces an 
>> internal message object backed by a static array of those buffers for I/O.
>>
>> As you might have noticed, this design builds on the assumption that the 
>> number of segments produced by getSegmentsForOutput()
>> does not exceed the number of calls made to allocateSegment() while 
>> building the message.
>> Is this a safe guarantee? Can I even go on to assume that the base 
>> pointers produced by getSegmentsForOutput()
>> are exactly the same as allocated segments and the only variation is in 
>> their sizes?
>>
>> Or is there a chance that out-of-order initialization of root message 
>> members might end up scrambling these orders?
>>
>> Best regards,
>> Jun
>>
>> -- 
>> 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 [email protected] <javascript:>.
>> Visit this group at https://groups.google.com/group/capnproto.
>>
>
>

-- 
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 [email protected].
Visit this group at https://groups.google.com/group/capnproto.

Reply via email to