载入中...
搜索中...
未找到
eve::asset::Evpack类 参考

Fully admitted owning runtime pack. 更多...

#include <Evpack.h>

Public 成员函数

const PersistentId & packageId () const noexcept
 Stable package identity from the verified header.
 
const PersistentId & buildId () const noexcept
 Deterministic Cook build identity from the verified header.
 
const std::vector< EvpackVariant > & variants () const noexcept
 Ordered capability variants encoded in the binary manifest.
 
const std::vector< EvpackChunk > & chunks () const noexcept
 Verified random-access chunk table.
 
const std::optional< EvpackSignature > & signature () const noexcept
 Verified publisher signature, absent only for admitted development packages.
 
bool hasTrustedSignature () const noexcept
 Whether publisher trust was cryptographically established during admission.
 
Result< std::span< const std::uint8_t > > chunkBytes (std::size_t index) const
 Return verified decoded bytes for an uncompressed chunk.
 
Result< std::vector< std::uint8_t > > decodeChunk (std::size_t index, std::uint64_t maximumDecodedBytes) const
 Decode and authenticate a chunk into owning canonical bytes.
 

友元

EVENGINE_API_FOUNDATION Result< Evpack > parseEvpack (std::span< const std::uint8_t >, const EvpackLimits &, const EvpackTrust &)
 Parse, bound-check and hash-verify a complete untrusted .evpack.
 
Result< Evpack > parseEvpackMetadata (std::span< const std::uint8_t >, std::uint64_t, const EvpackLimits &, const EvpackTrust &)
 Admit only the contiguous header/manifest/TOC prefix of a range-readable package.
 

详细描述

Fully admitted owning runtime pack.

备注
Chunk views remain valid until this object is moved, assigned, or destroyed.

在文件 Evpack.h 第 164 行定义.

成员函数说明

◆ buildId()

const PersistentId & eve::asset::Evpack::buildId ( ) const
inlinenoexcept

Deterministic Cook build identity from the verified header.

在文件 Evpack.h 第 169 行定义.

◆ chunkBytes()

Result< std::span< const std::uint8_t > > eve::asset::Evpack::chunkBytes ( std::size_t  index) const

Return verified decoded bytes for an uncompressed chunk.

参数
indexIndex in chunks().
返回
A borrowed immutable view or a bounds diagnostic.
备注
The view has the same lifetime as this unmoved Evpack instance. Compressed chunks require decodeChunk() because their decoded bytes need owning storage.

在文件 Evpack.cpp 第 547 行定义.

引用了 index.

◆ chunks()

const std::vector< EvpackChunk > & eve::asset::Evpack::chunks ( ) const
inlinenoexcept

Verified random-access chunk table.

在文件 Evpack.h 第 173 行定义.

被这些函数引用 eve::asset::EvpackRangeMount::readChunk().

◆ decodeChunk()

Result< std::vector< std::uint8_t > > eve::asset::Evpack::decodeChunk ( std::size_t  index,
std::uint64_t  maximumDecodedBytes 
) const

Decode and authenticate a chunk into owning canonical bytes.

在文件 Evpack.cpp 第 565 行定义.

引用了 eve::asset::decompressEvpackChunk(), index , 以及 stored.

◆ hasTrustedSignature()

bool eve::asset::Evpack::hasTrustedSignature ( ) const
inlinenoexcept

Whether publisher trust was cryptographically established during admission.

在文件 Evpack.h 第 177 行定义.

◆ packageId()

const PersistentId & eve::asset::Evpack::packageId ( ) const
inlinenoexcept

Stable package identity from the verified header.

在文件 Evpack.h 第 167 行定义.

◆ signature()

const std::optional< EvpackSignature > & eve::asset::Evpack::signature ( ) const
inlinenoexcept

Verified publisher signature, absent only for admitted development packages.

在文件 Evpack.h 第 175 行定义.

◆ variants()

const std::vector< EvpackVariant > & eve::asset::Evpack::variants ( ) const
inlinenoexcept

Ordered capability variants encoded in the binary manifest.

在文件 Evpack.h 第 171 行定义.

被这些函数引用 eve::asset::selectEvpackVariant().

友元及相关函数文档

◆ parseEvpack

EVENGINE_API_FOUNDATION Result< Evpack > parseEvpack ( std::span< const std::uint8_t >  ,
const EvpackLimits &  ,
const EvpackTrust &   
)
friend

Parse, bound-check and hash-verify a complete untrusted .evpack.

在文件 Evpack.cpp 第 542 行定义.

◆ parseEvpackMetadata

Result< Evpack > parseEvpackMetadata ( std::span< const std::uint8_t >  ,
std::uint64_t  ,
const EvpackLimits &  ,
const EvpackTrust &   
)
friend

Admit only the contiguous header/manifest/TOC prefix of a range-readable package.

参数
metadataPrefixBytes from offset zero through the end of the TOC.
packageSizeAuthoritative total source size used to validate chunk ranges.
返回
Metadata-only Evpack index; chunkBytes() intentionally rejects it.
备注
Chunk hashes are verified later by the range mount before bytes reach a decoder.

在文件 Evpack.cpp 第 361 行定义.


该类的文档由以下文件生成: