Resource Group File Format
Resource Groups are human readable Yaml files which encapsulate all data associated a group of resources.
The word ‘Resources’ is used here, however the term is interchangeable with ‘file’.
Resource Groups are an evolution of the resfileindex.txt files used in EVE and Frontier. Many of the file management concepts of resources originate there.
Most operations require Resource Groups as inputs. Operations output may also contain generated ResourceGroups.
ResourceGroup is a base type, extended versions which add additional fields for with special operations include
PatchResourceGroup - Contains a location to a ResourceGroup which it is based on the resources represent binary diffs.
BundleResourceGroup - Contains a location to a ResourceGroup which it was based on and the resources are chunks which make up the bundle.
Example ResourceGroup file
Version: 0.1.0
Type: ResourceGroup
NumberOfResources: 621
TotalResourcesSizeCompressed: 36013964
TotalResourcesSizeUnCompressed: 155170840
Resources:
RelativePath: buildtrees/argparse/config-x64-windows-carbon-err.log
Type: Resource
Location: 4a/4a2879b6b400c8cc_d41d8cd98f00b204e9800998ecf8427e
Checksum: d41d8cd98f00b204e9800998ecf8427e
UncompressedSize: 0
CompressedSize: 20
BinaryOperation: 33206
RelativePath: buildtrees/argparse/config-x64-windows-carbon-out.log
Type: Resource
Location: 16/169c6bb00fdceb69_c888d1e49f02ac82658ebad2a0808f70
Checksum: c888d1e49f02ac82658ebad2a0808f70
UncompressedSize: 3719
CompressedSize: 1294
BinaryOperation: 33206
...
ResourceGroup Fields
Field |
Description |
|---|---|
Version |
Version number of the Resource Group document |
Type |
Type of ResourceGroup. Type ‘ResourceGroup’ is the base type. There are also specialisations which add further fields related to their function. |
NumberOfResources |
Number of resources which appear in the ResourceGroup. |
TotalResourcesSizeCompressed |
Total compressed size of all the files which appear in the ResourceGroup. |
TotalResourcesSizeUnCompressed |
Total uncompressed size of all the files which appear in the ResourceGroup |
Resources |
List of resources and information relating to them |
Field |
Description |
|---|---|
RelativePath |
Relative path to the resource. |
Type |
Type of resource. |
Location |
Location where resource would appear in a Content Deliver Network (CDN) structure. |
Checksum |
Data checksum of the uncompressed resource. |
UncompressedSize |
Uncompressed size of resource in bytes. |
CompressedSize |
Compressed size of resource in bytes. |
BinaryOperation |
Binary operation for the resource |
Example PatchResourceGroup file
Version: 0.1.0
Type: PatchGroup
NumberOfResources: 2
TotalResourcesSizeCompressed: 125
TotalResourcesSizeUnCompressed: 228
ResourceGroupResource:
RelativePath: PatchResourceGroup.yaml
Type: ResourceGroup
Location: 16/169490e8f16ecbbd_064c6a93988a6dfb92cf480826a1de45
Checksum: 064c6a93988a6dfb92cf480826a1de45
UncompressedSize: 868
CompressedSize: 341
MaxInputChunkSize: 50000000
Resources:
- RelativePath: Patches/Patch.0
Type: BinaryPatch
Location: 89/8917d12f0dc2f2a4_23038413c133ea89d37201b6660a0383
Checksum: 23038413c133ea89d37201b6660a0383
UncompressedSize: 145
CompressedSize: 67
TargetResourceRelativePath: TextDocument1.txt
DataOffset: 0
SourceOffset: 0
- RelativePath: Patches/Patch.1
Type: BinaryPatch
Location: 89/8917d12f0dc2f2a5_27729bde0c1cb7e299408059a3809617
Checksum: 27729bde0c1cb7e299408059a3809617
UncompressedSize: 83
CompressedSize: 58
TargetResourceRelativePath: TextDocument2.txt
DataOffset: 0
SourceOffset: 0
...
PatchResourceGroup Additional Fields
Field |
Description |
|---|---|
ResourceGroupResource |
Resource information for a Resource Group containing resources to patch |
Field |
Description |
|---|---|
DataOffset |
Data offset for use in the patch procedure |
SourceOffset |
Data source offset for use in the patch procedure |
Example BundleResourceGroup file
Version: 0.1.0
Type: BundleGroup
NumberOfResources: 1
TotalResourcesSizeCompressed: 8389
TotalResourcesSizeUnCompressed: 41961
ResourceGroupResource:
RelativePath: ResourceGroup.yaml
Type: ResourceGroup
Location: cc/cc00d34500ea7a31_f32613169b3491afb5d029828d269ff3
Checksum: f32613169b3491afb5d029828d269ff3
UncompressedSize: 851
CompressedSize: 363
ChunkSize: 1000
Resources:
- RelativePath: CreateBundleOut/ResourceGroup0.chunk
Type: BinaryChunk
Location: 24/2445432734181d30_c6ffd7f72188cbf71e665c3714b5b148
Checksum: c6ffd7f72188cbf71e665c3714b5b148
UncompressedSize: 41961
CompressedSize: 8389
...
BundleResourceGroup Additional Fields
Bundle Resource Groups extend Resource Groups and so contain all the base fields for a Resource Group.
Field |
Description |
|---|---|
ResourceGroupResource |
Resource information for a Resource Group containing resources that have been bundled |