ExportAdapter

Trait ExportAdapter 

Source
pub trait ExportAdapter: Send + Sync {
    // Required methods
    fn metadata(&self) -> &AdapterMetadata;
    fn configure(&mut self, config: AdapterConfig) -> Result<()>;
    fn export_instruction(
        &self,
        instruction: &GaiaInstruction,
    ) -> Result<Vec<u8>>;
    fn export_program(&self, program: &GaiaProgram) -> Result<Vec<u8>>;
    fn supports_instruction(&self, instruction: &GaiaInstruction) -> bool;
    fn file_extension(&self) -> &str;

    // Provided method
    fn cleanup(&mut self) -> Result<()> { ... }
}
Expand description

统一的导出适配器接口

定义了将Gaia指令和程序导出到特定平台格式的标准接口

Required Methods§

Source

fn metadata(&self) -> &AdapterMetadata

获取适配器元数据

Source

fn configure(&mut self, config: AdapterConfig) -> Result<()>

配置适配器

§参数
  • config - 适配器配置
§返回值

配置成功返回Ok(()),失败返回错误信息

Source

fn export_instruction(&self, instruction: &GaiaInstruction) -> Result<Vec<u8>>

导出单个指令

§参数
  • instruction - 要导出的Gaia指令
§返回值

导出成功返回平台特定的指令数据,失败返回错误信息

Source

fn export_program(&self, program: &GaiaProgram) -> Result<Vec<u8>>

导出完整程序

§参数
  • program - 要导出的Gaia程序
§返回值

导出成功返回平台特定的程序数据,失败返回错误信息

Source

fn supports_instruction(&self, instruction: &GaiaInstruction) -> bool

验证指令是否支持

§参数
  • instruction - 要验证的指令
§返回值

支持返回true,不支持返回false

Source

fn file_extension(&self) -> &str

获取输出文件扩展名

§返回值

平台特定的文件扩展名

Provided Methods§

Source

fn cleanup(&mut self) -> Result<()>

清理资源

在适配器不再使用时调用,用于清理相关资源

Implementors§