On 03/10/2011 09:15 AM, Lars T. Kyllingstad wrote:
On Wed, 09 Mar 2011 21:34:29 -0800, Jonathan M Davis wrote:

On Wednesday 09 March 2011 21:10:59 Daniel Gibson wrote:
Am 10.03.2011 05:53, schrieb dsimcha:
I noticed last night that Phobos actually has all the machinations
required for reading gzipped files, buried in etc.c.zlib. I've wanted
a high-level D interface for reading and writing compressed files
with an API similar to "normal" file I/O for a while. I'm thinking
about what the easiest/best design would be. At a high level there
are two designs:

1. Hack std.stdio.file to support gzipped formats. This would allow
an identical interface for "normal" and compressed I/O. It would also
allow reuse of things like ByLine. However, it would require major
refactoring of File to decouple it from the C file I/O routines so
that it could call either the C or GZip ones depending on how it's
configured. Probably, it would make sense to make an interface that
wraps I/O functions and make an instance for C and one for gzip, with
bzip2 and other goodies possibly being added later.

2. Write something completely separate. This would keep
std.stdio.File doing one thing well (wrapping C file I/O) but would
be more of a PITA for the user and possibly result in code
duplication.

I'd like to get some comments on what an appropriate API design and
implementation for writing gzipped files would be. Two key
requirements are that it must be as easy to use as std.stdio.File and
it must be easy to extend to support other single-file compression
formats like bz2.

Maybe a proper stream API would help. It could provide ByLine etc,
could be used for any kind of compression format (as long as an
appropriate input-stream is provided), ...
(analogous for writing)

That was my thought. We really need proper streams...

The other potential issue with compressed files is that they can contain
directories and such.

Not gzip and bzip2 compressed files.  They only contain a single file.

Yop, but the underlying 'file' is a tar-ed pack of files...

Denis
--
_________________
vita es estrany
spir.wikidot.com

Reply via email to