Jeffrey Walton wrote:
>> Any ideas on what I should be using?
> Cancel. I punted and used a SecByteBlock in the object (neither
> CreatePutSpace or CreateChannelPutSpace appears to be implemented).
> SecByteBlock also seemed more appropriate since it scrubs memory on
> destruction.

CreatePutSpace() is implemented by Filters that happen to have an existing 
allocated buffer that can be reused. The caller has to be prepared for the 
possibility that it will return NULL and fall back to using its own 
SecByteBlock in that case. There's a helper class FilterPutSpaceHelper that 
does this for you. Or you can not worry about saving the memory allocations 
and copies and just use a SecByteBlock directly, like you've done.

> Wei: any corrections or omissions would be appreciated.

In IsolatedFlush(), you're not supposed to call IsolatedFlush() on the 
AttachedTransformation(). This will be done by Filter's implementation of 
Flush().

You should probably warn the Wiki reader that the interfaces used to 
implement a Filter may not be as stable as the interfaces that are meant to 
be used by applications. The basic Put() and Get() for example are backwards 
compatible to early versions of Crypto++, while Put2() and IsolatedFlush() 
were introduced in version 5.0, I think.
 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.
-~----------~----~----~----~------~----~------~--~---

Reply via email to