History log of /haiku/src/kits/package/hpkg/v1/PackageDataReaderV1.cpp
Revision Date Author Comments
# 47bedf16 02-Dec-2017 Augustin Cavalier <waddlesplash@gmail.com>

PackageDataInlineReader: Do not use fData before it has been set.

Spotted by Clang.


# b3263ad3 30-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Switch package kit to BZlibCompressionAlgorithm

... and remove the Zlib{Compressor,Decompressor} API.


# 6a89a36a 24-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Move package kit Zlib* classes to support kit

Also move to B* namespace and no longer expose the zlib dependency in
the headers.


# 32832cbe 23-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove BPackageKit::BDataOutput

Use BDataIO instead.


# d2d1af83 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Move ZlibDecompressor to libshared"

This reverts commit 9af2105d36856be60528c361edf14a263f242338.

Conflicts:
src/kits/package/Jamfile


# 4c235c74 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Fix more issues detected by gcc4 compiler:"

This reverts commit 19f3bae0716c4eb7dd2a5716778560580be68071.


# cc66d3a0 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Style fixes, no functional changes"

This reverts commit 916382a10f471ca31087dd71b8d3ece5de9cd421.


# 79895eed 23-Apr-2014 Murai Takashi <tmurai01@gmail.com>

Fix gcc 4.9.0 build

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 916382a1 12-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Style fixes, no functional changes

* Pointed out by Axel and Ingo.


# 19f3bae0 11-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix more issues detected by gcc4 compiler:

More ssize_t/status_t mixup.


# 9af2105d 10-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move ZlibDecompressor to libshared

* This will be used to implement compressed http streams
* Remove the custom BDataOutput class, and use BDataIO instead, for
easier integration with existing code.


# 1f633814 17-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

hpkg format: compress the whole heap

Instead of handling compression for individual file/attribute data we
do now compress the whole heap where they are stored. This
significantly improves compression ratios. We still divide the
uncompressed data into 64 KiB chunks and use a chunk offset array for
the compressed chunks to allow for quick random access without too much
overhead. The tradeoff is a limited possible compression ratio -- i.e.
we won't be as good as tar.gz (though surprisingly with my test
archives we did better than zip).

The other package file sections (package attributes and TOC) are no
longer compressed individually. Their uncompressed data are simply
pushed onto the heap where the usual compression strategy applies. To
simplify things the repository format has been changed in the same
manner although it doesn't otherwise use the heap, since it only stores
meta data.

Due to the data compression having been exposed in public and private
API, this change touches a lot of package kit using code, including
packagefs and the boot loader packagefs support. The latter two haven't
been tested yet. Moreover packagefs needs a new kind of cache so we
avoid re-reading the same heap chunk for two different data items it
contains.


# 0ee16518 14-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Rename BBlockBufferCache and friends to *Pool*

Also move BBlockBufferPoolNoLock into BHPKG namespace with the other
classes. Not sure why it wasn't there before.


# 2c32402d 12-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package kit: internalize BPackageDataReader

It is no longer public (or even private) API. BPackageDataReaderFactory
returns a BAbstractBufferedDataReader instead. The advantage is that
the latter doesn't have hpkg format specific dependencies.


# b5786b0f 12-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageDataReader: Remove unused Size(), BlockSize()


# 7575abbc 12-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Clone read support functionality for HPKG format version 1

It uses sub-namespace BPackage::BHPKG::V1. Unlike the one for the
current format version, the V1 version of BPackageInfoContentHandler
lives in BHPKG(::V1) sub-namespace and is private.


# b3263ad3e1662cc419849a2d2cf539f9636613dc 30-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Switch package kit to BZlibCompressionAlgorithm

... and remove the Zlib{Compressor,Decompressor} API.


# 6a89a36aa0ce6a53f9758ba767863ac6b4c6156c 24-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Move package kit Zlib* classes to support kit

Also move to B* namespace and no longer expose the zlib dependency in
the headers.


# 32832cbe47f991cc6d2b29824903181d8baaaa63 23-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Remove BPackageKit::BDataOutput

Use BDataIO instead.


# d2d1af830b3f144937ea5e4c3f0e5b74c4c3d737 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Move ZlibDecompressor to libshared"

This reverts commit 9af2105d36856be60528c361edf14a263f242338.

Conflicts:
src/kits/package/Jamfile


# 4c235c7497ee3bc08a0bb53ae6776fe14c1f4462 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Fix more issues detected by gcc4 compiler:"

This reverts commit 19f3bae0716c4eb7dd2a5716778560580be68071.


# cc66d3a0516b3d88739459f6d8b6819e6a4e61c6 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Style fixes, no functional changes"

This reverts commit 916382a10f471ca31087dd71b8d3ece5de9cd421.


# 79895eed07bbe1918686c6bf26869116369c3596 23-Apr-2014 Murai Takashi <tmurai01@gmail.com>

Fix gcc 4.9.0 build

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>


# 916382a10f471ca31087dd71b8d3ece5de9cd421 12-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Style fixes, no functional changes

* Pointed out by Axel and Ingo.


# 19f3bae0716c4eb7dd2a5716778560580be68071 11-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Fix more issues detected by gcc4 compiler:

More ssize_t/status_t mixup.


# 9af2105d36856be60528c361edf14a263f242338 10-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

Move ZlibDecompressor to libshared

* This will be used to implement compressed http streams
* Remove the custom BDataOutput class, and use BDataIO instead, for
easier integration with existing code.


# 1f633814fa347b0bd822f683af731615df600347 17-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

hpkg format: compress the whole heap

Instead of handling compression for individual file/attribute data we
do now compress the whole heap where they are stored. This
significantly improves compression ratios. We still divide the
uncompressed data into 64 KiB chunks and use a chunk offset array for
the compressed chunks to allow for quick random access without too much
overhead. The tradeoff is a limited possible compression ratio -- i.e.
we won't be as good as tar.gz (though surprisingly with my test
archives we did better than zip).

The other package file sections (package attributes and TOC) are no
longer compressed individually. Their uncompressed data are simply
pushed onto the heap where the usual compression strategy applies. To
simplify things the repository format has been changed in the same
manner although it doesn't otherwise use the heap, since it only stores
meta data.

Due to the data compression having been exposed in public and private
API, this change touches a lot of package kit using code, including
packagefs and the boot loader packagefs support. The latter two haven't
been tested yet. Moreover packagefs needs a new kind of cache so we
avoid re-reading the same heap chunk for two different data items it
contains.


# 0ee1651856a4364bfa7ffd10f796baf35fb524d3 14-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Rename BBlockBufferCache and friends to *Pool*

Also move BBlockBufferPoolNoLock into BHPKG namespace with the other
classes. Not sure why it wasn't there before.


# 2c32402da583cbd0a091a08308237592679c05c4 12-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

package kit: internalize BPackageDataReader

It is no longer public (or even private) API. BPackageDataReaderFactory
returns a BAbstractBufferedDataReader instead. The advantage is that
the latter doesn't have hpkg format specific dependencies.


# b5786b0f6879010455272cfeed0668e8d259048c 12-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

BPackageDataReader: Remove unused Size(), BlockSize()


# 7575abbca279c0f86e5c6d51a8d854d585c8de03 12-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Clone read support functionality for HPKG format version 1

It uses sub-namespace BPackage::BHPKG::V1. Unlike the one for the
current format version, the V1 version of BPackageInfoContentHandler
lives in BHPKG(::V1) sub-namespace and is private.