mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-10-31 01:57:45 +08:00 
			
		
		
		
	 9b618d2447
			
		
	
	9b618d2447
	
	
	
		
			
			Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: shashank_attarde <shashank.attarde@juspay.in> Co-authored-by: Aprabhat19 <amishaprabhat@gmail.com> Co-authored-by: Amisha Prabhat <55580080+Aprabhat19@users.noreply.github.com>
		
			
				
	
	
		
			26 lines
		
	
	
		
			649 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			649 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| pub mod inputs;
 | |
| pub mod interpreter;
 | |
| #[cfg(feature = "valued_jit")]
 | |
| pub mod vir_interpreter;
 | |
| 
 | |
| pub use inputs::BackendInput;
 | |
| pub use interpreter::InterpreterBackend;
 | |
| #[cfg(feature = "valued_jit")]
 | |
| pub use vir_interpreter::VirInterpreterBackend;
 | |
| 
 | |
| use crate::frontend::ast;
 | |
| 
 | |
| #[derive(Debug, Clone, serde::Serialize)]
 | |
| pub struct BackendOutput<O> {
 | |
|     pub rule_name: Option<String>,
 | |
|     pub connector_selection: O,
 | |
| }
 | |
| 
 | |
| pub trait EuclidBackend<O>: Sized {
 | |
|     type Error: serde::Serialize;
 | |
| 
 | |
|     fn with_program(program: ast::Program<O>) -> Result<Self, Self::Error>;
 | |
| 
 | |
|     fn execute(&self, input: BackendInput) -> Result<BackendOutput<O>, Self::Error>;
 | |
| }
 |