ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
ra8_mdl_transfer_config Struct Reference

Fixed policy and injected mechanisms for one transfer. More...

#include <ra8_c6link_mdl_transfer.h>

Collaboration diagram for ra8_mdl_transfer_config:

Data Fields

ra8_mdl_storage_iface_t storage
 Transactional RA8-local destination.
ra8_mdl_sha256_iface_t sha256
 Independent running digest.
mdl_format_t format
 Requested and validated artifact.
ra8_mdl_http_policy_t http
 Forwarded downloader request policy.
ra8_mdl_cancel_requested_fn cancel_requested
 Optional cooperative cancel query.
void * cancel_ctx
 Context for cancel_requested.
uint16_t chunk_bytes
 Maximum bytes requested per pull.
uint32_t max_chunks
 Absolute number of permitted pulls.

Detailed Description

Fixed policy and injected mechanisms for one transfer.

chunk_bytes controls backpressure and max_chunks is the hard loop bound. Their product may not exceed k_ra8_mdl_transfer_bytes_max. A non-loose format requires storage.validate; this prevents a caller from relabelling arbitrary bytes as RABOOK or another container. The optional cancellation callback is the only policy hook. Storage and SHA implementations remain independently substitutable.

Invariant
chunk_bytes is in 1..k_ra8_mdl_chunk_data_max.
max_chunks is non-zero and bounds every remote pull.
The configured byte budget is at most k_ra8_mdl_transfer_bytes_max.
Non-loose formats provide storage.validate.
.storage = storage, .sha256 = hash,
.cancel_requested = ui_cancelled, .cancel_ctx = &ui,
.chunk_bytes = k_ra8_mdl_chunk_data_max, .max_chunks = 4096U,
};
@ k_mdl_format_rabook
Chunked reader-native book (.rabook).
Definition mdl_format.h:44
@ k_ra8_mdl_chunk_data_max
Maximum raw body bytes in one chunk.
ra8_mdl_storage_iface_t storage
Transactional RA8-local destination.
See also
ra8_c6link_mdl_transfer
Since
0.1.0

Definition at line 161 of file ra8_c6link_mdl_transfer.h.

Field Documentation

◆ cancel_ctx

void* ra8_mdl_transfer_config::cancel_ctx

Context for cancel_requested.

Definition at line 167 of file ra8_c6link_mdl_transfer.h.

Referenced by ra8_c6link_mdl_transfer().

◆ cancel_requested

ra8_mdl_cancel_requested_fn ra8_mdl_transfer_config::cancel_requested

Optional cooperative cancel query.

Definition at line 166 of file ra8_c6link_mdl_transfer.h.

Referenced by ra8_c6link_mdl_transfer().

◆ chunk_bytes

uint16_t ra8_mdl_transfer_config::chunk_bytes

Maximum bytes requested per pull.

Definition at line 168 of file ra8_c6link_mdl_transfer.h.

Referenced by internal_mdl_transfer_validate(), internal_publish(), and ra8_c6link_mdl_transfer().

◆ format

mdl_format_t ra8_mdl_transfer_config::format

◆ http

ra8_mdl_http_policy_t ra8_mdl_transfer_config::http

Forwarded downloader request policy.

Definition at line 165 of file ra8_c6link_mdl_transfer.h.

Referenced by internal_mdl_transfer_begin().

◆ max_chunks

uint32_t ra8_mdl_transfer_config::max_chunks

Absolute number of permitted pulls.

Definition at line 169 of file ra8_c6link_mdl_transfer.h.

Referenced by internal_mdl_transfer_validate(), and ra8_c6link_mdl_transfer().

◆ sha256

◆ storage


The documentation for this struct was generated from the following file: