Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::project_package Namespace Reference

Classes

struct  PackageError
 Path-bearing package failure. More...
class  AtomicPublisher
 Builds a private sibling directory and publishes it at a previously absent destination. More...
struct  BlobReference
 Exact package location of one SHA-256-addressed blob. More...
struct  PackageLimits
 Admission limits for untrusted project and blob bytes. More...
struct  OpenPackageResult
 Validated package generation and its package-owned working directories. More...
class  PackageWriter
 Cooperative exclusive writer for one stable package root. More...

Enumerations

enum class  PackageErrorCode : std::uint8_t {
  InvalidPath , InvalidLayout , AlreadyOpen , HashMismatch ,
  IoError , PublicationConflict , DurabilityUncertain , InvalidGeneration ,
  LimitExceeded
}
 Stable failure categories for package layout and publication operations. More...
enum class  AtomicPublishOutcome : std::uint8_t { NotPublished , PublishedDurably , PublishedDurabilityUncertain }
 Visibility and finalization state after a namespace-publication attempt. More...
enum class  BlobStore : std::uint8_t { Media , State , Artifact , Receipt }
 Content-addressed store within a project package. More...

Functions

runtime::Result< OpenPackageResult, PackageError > open_package (const std::filesystem::path &root, const timeline::SchemaRegistry &registry, const PackageLimits &limits={}) noexcept
 Opens and validates the sole referencing generation in a stable package root.
runtime::Result< std::vector< std::uint8_t >, PackageError > read_blob (const std::filesystem::path &root, const BlobReference &reference, std::uint64_t maximum_bytes) noexcept
 Reads a bounded blob and verifies its bytes against the reference hash.

Enumeration Type Documentation

◆ AtomicPublishOutcome

enum class pulp::project_package::AtomicPublishOutcome : std::uint8_t
strong

Visibility and finalization state after a namespace-publication attempt.

Enumerator
NotPublished 

The destination name was not published.

PublishedDurably 

The destination has final permissions and its parent namespace was durably fenced.

PublishedDurabilityUncertain 

The destination is visible, but final permission adoption or namespace fencing did not complete.

◆ BlobStore

enum class pulp::project_package::BlobStore : std::uint8_t
strong

Content-addressed store within a project package.

Enumerator
Media 
State 
Artifact 
Receipt 

◆ PackageErrorCode

enum class pulp::project_package::PackageErrorCode : std::uint8_t
strong

Stable failure categories for package layout and publication operations.

Enumerator
InvalidPath 
InvalidLayout 
AlreadyOpen 
HashMismatch 
IoError 
PublicationConflict 
DurabilityUncertain 
InvalidGeneration 
LimitExceeded 

Function Documentation

◆ open_package()

runtime::Result< OpenPackageResult, PackageError > pulp::project_package::open_package ( const std::filesystem::path & root,
const timeline::SchemaRegistry & registry,
const PackageLimits & limits = {} )
noexcept

Opens and validates the sole referencing generation in a stable package root.

◆ read_blob()

runtime::Result< std::vector< std::uint8_t >, PackageError > pulp::project_package::read_blob ( const std::filesystem::path & root,
const BlobReference & reference,
std::uint64_t maximum_bytes )
noexcept

Reads a bounded blob and verifies its bytes against the reference hash.