mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-15 11:31:05 +00:00
Preserve artifact cache unless stale (#1918)
Co-authored-by: Marcin S <marcin@realemail.net>
This commit is contained in:
@@ -14,16 +14,24 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use crate::prepare::PrepareStats;
|
||||
use crate::prepare::{PrepareSuccess, PrepareWorkerSuccess};
|
||||
use parity_scale_codec::{Decode, Encode};
|
||||
use std::fmt;
|
||||
|
||||
/// Result of PVF preparation performed by the validation host. Contains stats about the preparation
|
||||
/// if successful
|
||||
pub type PrepareResult = Result<PrepareStats, PrepareError>;
|
||||
/// Result of PVF preparation from a worker, with checksum of the compiled PVF and stats of the
|
||||
/// preparation if successful.
|
||||
pub type PrepareWorkerResult = Result<PrepareWorkerSuccess, PrepareError>;
|
||||
|
||||
/// Result of PVF preparation propagated all the way back to the host, with path to the concluded
|
||||
/// artifact and stats of the preparation if successful.
|
||||
pub type PrepareResult = Result<PrepareSuccess, PrepareError>;
|
||||
|
||||
/// Result of prechecking PVF performed by the validation host. Contains stats about the preparation
|
||||
/// if successful.
|
||||
pub type PrecheckResult = Result<(), PrepareError>;
|
||||
|
||||
/// An error that occurred during the prepare part of the PVF pipeline.
|
||||
// Codec indexes are intended to stabilize pre-encoded payloads (see `OOM_PAYLOAD` below)
|
||||
// Codec indexes are intended to stabilize pre-encoded payloads (see `OOM_PAYLOAD`)
|
||||
#[derive(Debug, Clone, Encode, Decode)]
|
||||
pub enum PrepareError {
|
||||
/// During the prevalidation stage of preparation an issue was found with the PVF.
|
||||
|
||||
@@ -31,6 +31,8 @@ pub use sp_tracing;
|
||||
|
||||
const LOG_TARGET: &str = "parachain::pvf-common";
|
||||
|
||||
pub const RUNTIME_VERSION: &str = env!("SUBSTRATE_WASMTIME_VERSION");
|
||||
|
||||
use std::{
|
||||
io::{self, Read, Write},
|
||||
mem,
|
||||
|
||||
@@ -15,6 +15,25 @@
|
||||
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
use parity_scale_codec::{Decode, Encode};
|
||||
use std::path::PathBuf;
|
||||
|
||||
/// Result from prepare worker if successful.
|
||||
#[derive(Debug, Clone, Default, Encode, Decode)]
|
||||
pub struct PrepareWorkerSuccess {
|
||||
/// Checksum of the compiled PVF.
|
||||
pub checksum: String,
|
||||
/// Stats of the current preparation run.
|
||||
pub stats: PrepareStats,
|
||||
}
|
||||
|
||||
/// Result of PVF preparation if successful.
|
||||
#[derive(Debug, Clone, Default)]
|
||||
pub struct PrepareSuccess {
|
||||
/// Canonical path to the compiled artifact.
|
||||
pub path: PathBuf,
|
||||
/// Stats of the current preparation run.
|
||||
pub stats: PrepareStats,
|
||||
}
|
||||
|
||||
/// Preparation statistics, including the CPU time and memory taken.
|
||||
#[derive(Debug, Clone, Default, Encode, Decode)]
|
||||
|
||||
@@ -115,7 +115,7 @@ impl fmt::Debug for PvfPrepData {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
write!(
|
||||
f,
|
||||
"Pvf {{ code, code_hash: {:?}, executor_params: {:?}, prep_timeout: {:?} }}",
|
||||
"Pvf {{ code: [...], code_hash: {:?}, executor_params: {:?}, prep_timeout: {:?} }}",
|
||||
self.code_hash, self.executor_params, self.prep_timeout
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user