[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r40378 - in trunk/subversion: include libsvn_subr tests/libsvn_subr

From: Hyrum K. Wright <hyrum_at_hyrumwright.org>
Date: Mon, 9 Nov 2009 10:03:12 -0600

On Nov 5, 2009, at 2:33 AM, Bert Huijben wrote:

>> -----Original Message-----
>> From: Hyrum K. Wright [mailto:hyrum_at_hyrumwright.org]
>> Sent: donderdag 5 november 2009 5:00
>> To: svn_at_subversion.tigris.org
>> Subject: svn commit: r40378 - in trunk/subversion: include
>> libsvn_subr
>> tests/libsvn_subr
>>
>> Author: hwright
>> Date: Wed Nov 4 20:00:08 2009
>> New Revision: 40378
>>
>> Log:
>> Add a duplication facility to our stream toolbox. Along the lines of
>> the tee(1), the new svn_stream_tee() function returns a stream which,
>> when
>> written to, writes to both of the underlying streams. This allows
>> writing
>> two files simultaneously, or writing a file while also pushing
>> content
>> across the network.
>>
>> This isn't used directly by this commit, but I envision a couple of
>> uses down
>> the road. In any case, it's a potentially useful tool, and a nice
>> exercise while stuck in an aluminum tube.
>>
>> * subversion/libsvn_subr/stream.c
>> (baton_tee, write_handler_tee, svn_stream_tee): New.
>
> I think it would be useful to add a close handler, to allow closing
> the inner streams via the outer stream.

Thanks for catching this. It was the initial intent, and even
documented as such, just not implemented. See r40432.

> In libsvn_wc/adm_crawler.c there is a variant of this stream code.
> It writes all bytes that are read from another stream. (Search for
> copying_stream). It would be nice if we could combine these into one
> generic feature. (But currently I don't see how)

Yes, that would be nice. Looking at the implementation, it's kinda
like tee, only it's pull-driven instead of push-driven. I wonder how
we could integrate them...

-Hyrum

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2415826
Received on 2009-11-09 17:03:26 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.