[squid-dev] [PATCH] Extend SBufContainerJoin to have prefix and suffix arguments
rousskov at measurement-factory.com
Thu Nov 3 22:55:46 UTC 2016
On 11/03/2016 03:19 PM, Kinkie wrote:
> On Tue, Nov 1, 2016 at 8:47 PM, Alex Rousskov wrote:
>> On 11/01/2016 02:02 PM, Kinkie wrote:
>>> the attached patch extends SBufContainerJoin to have prefix and
>>> suffix arguments.
>> I recommend reworking this by adding a dest parameter:
>> SBuf &ContainerToSBuf(SBuf &dest, ...);
> Can simply return the modified SBuf.
> -SBufContainerJoin(const Container &items, const SBuf& separator)
> +JoinContainerIntoSBuf(SBuf dest, const ContainerIterator &begin,
This implementation does not avoid copies in a general case: When I
already have an SBuf with some content, I have to feed my writeable SBuf
to ContainerToSBuf() to avoid allocating and copying.
AFAICT, the reasonable implementation options are:
1. Your old simpler implementation without "dest".
2. A more efficient implementation with writeable "dest".
The latest implementation has the complexity of #2 but lacks its
efficiency. I do not think it is a good API.
More information about the squid-dev