[reSIProcate] Compilation error in latest code
Alan Hawrylyshen
alan at jasomi.com
Sat Nov 20 11:43:33 CST 2004
On Nov 20, 2004, at 18:33, david Butcher wrote:
> [snip]
> Thanks for the vote of confidence :-)
> Data does not depend on intialization of the memory. Only the terminal
> null
> matters, and then only if you use c_str().
>
Just wanted to be 100% sure. :-) Nothing intended to be implied.
>>> 2. Generalized the Take/Share enum to include Borrow. Borrow is used
>>> to
>>> indicate that the Data is using a writable but not owned buffer.
>>> Borrow is used
>>> to indicate that the internal buffer is being used. Borrow also
>>> allows
>>> Datas to
>>> be created that use stack memory rather than heap memory.
>>>
>>
>> I 'take' it that you also implemented the behaviour described? Any
>> issues or use notes that might affect or benefit other Data users?
>
> Implemented. There is no legacy impact. The internals of Data are a
> little
> cleaner. Here is a use case:
>
> {
> ...
> char buffer[8192];
> Data tmp(Data::Borrow, buffer, sizeof(buffer));
> // use tmp as usual -- tmp will still grow as necessary
> ...
> } // buffer deallocated by scope end
>
> I can't recommend wholesale use of this idiom, but it may be useful in
> inner
> loops etc. I have not tried to apply it to the stack proper -- mostly
> 'Shares'
> there.
>
Actually that's not too bad and might make a strong case for removing
the complicated frame-local initial buffer code from Data. What do you
think?
Then again, maybe not -- any thoughts on this matter?
A
>
a l a n a t j a s o m i d o t c o m
More information about the resiprocate-devel
mailing list