RuntimePayloadUploads
in package
FinalYes
Namespace-scoped discovery and request-local, content-addressed uploads.
Tags
Table of Contents
Constants
- COMMAND_FIELDS : array<string, array<int, string>> = ['complete_workflow' => ['result'], 'schedule_a...
- COMPLETION_HEADER : mixed = 'X-Durable-Workflow-Payload-Completion'
- COMPLETION_SCHEMA : mixed = 'durable-workflow.v2.payload-completion-context...
- PREPARED_COMPLETION_SCHEMA : mixed = 'durable-workflow.v2.payload-completion-context...
Properties
- $baseUri : string
-
$policies
: array<int, array{expires: int, policy: array
}> - $transport : Transport
Methods
- __construct() : mixed
- request() : array<string, mixed>
- completionContext() : string|null
- contextIdentifier() : bool
- failureMetadata() : array<string, mixed>
- Bound diagnostic text against complete metadata before planning ordinary uploads.
- get() : mixed
- jsonSize() : int
- paths() : array<int, array<int, int|string>>
- payloadBlob() : string|null
-
payloads()
: array<int, array{path: list
, blob: string}> - placeholder() : array{schema: string, reference_id: string, codec: string, size_bytes: int, sha256: string}
- plan() : array<int, array<string, mixed>>
- policy() : array{threshold_bytes: int, max_bytes: int, request_bytes: int, timeout_seconds: int, status: string, completion_context?: bool, prepared_completion_context?: bool, scope_completion_context?: bool}
- put() : void
- replace() : void
- requestPolicy() : UploadPolicy
- sendWithCompletionFallback() : array<string, mixed>
- uploadBlob() : array<string, mixed>
- uploadReference() : array<string, mixed>
- uploadSelected() : array<string, mixed>
- validateUploadReference() : array<string, mixed>
Constants
COMMAND_FIELDS
public
array<string, array<int, string>>
COMMAND_FIELDS
= ['complete_workflow' => ['result'], 'schedule_activity' => ['arguments'], 'start_child_workflow' => ['arguments'], 'continue_as_new' => ['arguments'], 'complete_update' => ['result'], 'record_side_effect' => ['result'], 'record_local_activity' => ['arguments', 'result'], 'prepare_local_activity' => ['arguments'], 'start_service_operation' => ['request_payload'], 'upsert_memo' => ['entries']]
COMPLETION_HEADER
private
mixed
COMPLETION_HEADER
= 'X-Durable-Workflow-Payload-Completion'
COMPLETION_SCHEMA
private
mixed
COMPLETION_SCHEMA
= 'durable-workflow.v2.payload-completion-context.v1'
PREPARED_COMPLETION_SCHEMA
private
mixed
PREPARED_COMPLETION_SCHEMA
= 'durable-workflow.v2.payload-completion-context.v2'
Properties
$baseUri read-only
private
string
$baseUri
$policies
private
array<int, array{expires: int, policy: array}>
$policies
= []
$transport read-only
private
Transport
$transport
Methods
__construct()
public
__construct(Transport $transport, string $baseUri) : mixed
Parameters
- $transport : Transport
- $baseUri : string
request()
public
request(array<string, mixed> $body, string $method, string $path, bool $worker, array<string, string> $headers[, RequestBudget|null $budget = null ][, FailureReportLimiter|null $failureReports = null ]) : array<string, mixed>
Parameters
- $body : array<string, mixed>
- $method : string
- $path : string
- $worker : bool
- $headers : array<string, string>
- $budget : RequestBudget|null = null
- $failureReports : FailureReportLimiter|null = null
Return values
array<string, mixed>completionContext()
private
completionContext(array<string, mixed> $body, string $path, array<int, int|string> $slot, bool $prepared, bool $scope) : string|null
Parameters
- $body : array<string, mixed>
- $path : string
- $slot : array<int, int|string>
- $prepared : bool
- $scope : bool
Return values
string|nullcontextIdentifier()
private
static contextIdentifier(mixed $value) : bool
Parameters
- $value : mixed
Return values
boolfailureMetadata()
Bound diagnostic text against complete metadata before planning ordinary uploads.
private
failureMetadata(array<string, mixed> $body, array<int, array{path: list, blob: string}> $payloads, string $path, FailureReportLimiter $reports) : array<string, mixed>
Parameters
- $body : array<string, mixed>
-
$payloads
: array<int, array{path: list
, blob: string}> - $path : string
- $reports : FailureReportLimiter
Return values
array<string, mixed>get()
private
get(mixed $value, array<int, int|string> $segments) : mixed
Parameters
- $value : mixed
- $segments : array<int, int|string>
jsonSize()
private
jsonSize(mixed $value) : int
Parameters
- $value : mixed
Return values
intpaths()
private
paths(array<string, mixed> $body, string $path, bool $worker) : array<int, array<int, int|string>>
Parameters
- $body : array<string, mixed>
- $path : string
- $worker : bool
Return values
array<int, array<int, int|string>>payloadBlob()
private
payloadBlob(mixed $value) : string|null
Parameters
- $value : mixed
Return values
string|nullpayloads()
private
payloads(array<string, mixed> $body, array<int, array<int, int|string>> $slots) : array<int, array{path: list, blob: string}>
Parameters
- $body : array<string, mixed>
- $slots : array<int, array<int, int|string>>
Return values
array<int, array{path: listplaceholder()
private
placeholder(array<string, mixed> &$body, array{path: list, blob: string} $payload) : array{schema: string, reference_id: string, codec: string, size_bytes: int, sha256: string}
Parameters
- $body : array<string, mixed>
-
$payload
: array{path: list
, blob: string}
Return values
array{schema: string, reference_id: string, codec: string, size_bytes: int, sha256: string}plan()
private
plan(array<string, mixed> &$body, array<int, PayloadSlot> &$payloads, UploadPolicy $policy) : array<int, array<string, mixed>>
Parameters
- $body : array<string, mixed>
- $payloads : array<int, PayloadSlot>
- $policy : UploadPolicy
Return values
array<int, array<string, mixed>>policy()
private
policy(array<string, string> $headers, bool $worker[, RequestBudget|null $budget = null ]) : array{threshold_bytes: int, max_bytes: int, request_bytes: int, timeout_seconds: int, status: string, completion_context?: bool, prepared_completion_context?: bool, scope_completion_context?: bool}
Parameters
- $headers : array<string, string>
- $worker : bool
- $budget : RequestBudget|null = null
Return values
array{threshold_bytes: int, max_bytes: int, request_bytes: int, timeout_seconds: int, status: string, completion_context?: bool, prepared_completion_context?: bool, scope_completion_context?: bool}put()
private
put(array<string, mixed> &$body, array<int, int|string> $segments, mixed $value) : void
Parameters
- $body : array<string, mixed>
- $segments : array<int, int|string>
- $value : mixed
replace()
private
replace(array<string, mixed> &$body, array<int, int|string> $segments, array<string, mixed> $reference) : void
Parameters
- $body : array<string, mixed>
- $segments : array<int, int|string>
- $reference : array<string, mixed>
requestPolicy()
private
requestPolicy(array<string, mixed> $body, string $path, bool $worker, array<string, string> $headers, RequestBudget|null $budget) : UploadPolicy
Parameters
- $body : array<string, mixed>
- $path : string
- $worker : bool
- $headers : array<string, string>
- $budget : RequestBudget|null
Return values
UploadPolicysendWithCompletionFallback()
private
sendWithCompletionFallback(array<string, mixed> $body, PayloadSlot $payload, array<string, string> $headers, UploadPolicy $policy, UploadRequest $request) : array<string, mixed>
Parameters
- $body : array<string, mixed>
- $payload : PayloadSlot
- $headers : array<string, string>
- $policy : UploadPolicy
- $request : UploadRequest
Return values
array<string, mixed>uploadBlob()
private
uploadBlob(array<string, string> $uploadHeaders, string $blob, UploadPolicy $policy, RequestBudget|null $budget) : array<string, mixed>
Parameters
- $uploadHeaders : array<string, string>
- $blob : string
- $policy : UploadPolicy
- $budget : RequestBudget|null
Return values
array<string, mixed>uploadReference()
private
uploadReference(array<string, mixed> $body, PayloadSlot $payload, array<string, mixed> $expected, UploadPolicy $policy, UploadRequest $request) : array<string, mixed>
Parameters
- $body : array<string, mixed>
- $payload : PayloadSlot
- $expected : array<string, mixed>
- $policy : UploadPolicy
- $request : UploadRequest
Return values
array<string, mixed>uploadSelected()
private
uploadSelected(array<string, mixed> $body, array<int, PayloadSlot> $payloads, array<int, array<string, mixed>> $selected, UploadPolicy $policy, UploadRequest $request) : array<string, mixed>
Parameters
- $body : array<string, mixed>
- $payloads : array<int, PayloadSlot>
- $selected : array<int, array<string, mixed>>
- $policy : UploadPolicy
- $request : UploadRequest
Return values
array<string, mixed>validateUploadReference()
private
validateUploadReference(array<string, mixed> $response, string $blob, array<string, mixed> $expected) : array<string, mixed>
Parameters
- $response : array<string, mixed>
- $blob : string
- $expected : array<string, mixed>