Skip to main content

Engine

Trait Engine 

Source
pub trait Engine {
Show 49 methods // Required methods fn tick<'a>( &'a mut self, plan: &TickPlan, arena: &RecordArena, rings: &mut dyn Rings, ) -> Result<&'a TickEvents, Status>; fn pump(&mut self); fn state_spaces(&self) -> &[StateSpaceDesc]; fn strategy_register( &mut self, reg: &StrategyRegistration, ) -> Result<&StrategyGrant, Status>; fn space_match( &mut self, space_id: u32, span_tokens: &[u32], media_deps: &[[u8; 32]], ) -> Result<&MatchResult, Status>; fn seed_acquire( &mut self, span_tokens: &[u32], prefix_len: u64, determinism_class: u8, ) -> Result<u64, Status>; fn seed_release(&mut self, seed_handle: u64) -> Result<(), Status>; fn seq_fork( &mut self, parent: SeqHandle, flags: u32, ) -> Result<SeqHandle, Status>; fn space_export_size( &mut self, seq: SeqHandle, space_id: u32, range: TokenRange, encoding: u8, ) -> Result<(u64, u64), Status>; fn space_snapshot( &mut self, seq: SeqHandle, space_id: u32, boundary_pos: u64, dst_len: u64, sizing_gen: u64, ) -> Result<OpHandle, Status>; fn space_restore( &mut self, seq: SeqHandle, space_id: u32, src: &[u8], ) -> Result<OpHandle, Status>; fn space_trim( &mut self, seq: SeqHandle, space_id: u32, new_len: u64, ) -> Result<(), Status>; fn space_demote( &mut self, seq: SeqHandle, space_id: u32, range: TokenRange, encoding: u8, dst_len: u64, sizing_gen: u64, ) -> Result<OpHandle, Status>; fn space_promote( &mut self, seq: SeqHandle, space_id: u32, range: TokenRange, src: &[u8], ) -> Result<OpHandle, Status>; fn op_poll(&mut self, op: OpHandle) -> Result<OpStatus, Status>; fn op_cancel(&mut self, op: OpHandle) -> Result<(), Status>; fn cache_evict( &mut self, evictable_cache_classes: u64, protected_quota_bytes: u64, max_evict_bytes: u64, bytes_target: u64, ) -> Result<u64, Status>; // Provided methods fn attach_ring(&mut self, _ring: &RingAttachment) -> Result<(), Status> { ... } fn kv_bits(&self) -> u32 { ... } fn space_match_ref( &mut self, space_id: u32, _span: &TokenRef, span_tokens: &[u32], media_deps: &[[u8; 32]], ) -> Result<&MatchResult, Status> { ... } fn seed_acquire_ref( &mut self, _span: &TokenRef, span_tokens: &[u32], prefix_len: u64, determinism_class: u8, ) -> Result<u64, Status> { ... } fn seed_lease_ticks(&self) -> Option<u64> { ... } fn seed_adopt( &mut self, _seq: SeqHandle, _span_tokens: &[u32], ) -> Result<u64, Status> { ... } fn media_probe(&mut self, _image_path: &str) -> Result<MediaInfo, Status> { ... } fn media_encode( &mut self, _image_path: &str, ) -> Result<(u64, MediaInfo), Status> { ... } fn media_release(&mut self, _media_handle: u64) -> Result<(), Status> { ... } fn media_bind( &mut self, _lane_tag: u64, _media_handle: u64, _token_offset: u32, ) -> Result<(), Status> { ... } fn seed_adopt_ref( &mut self, seq: SeqHandle, _span: &TokenRef, span_tokens: &[u32], ) -> Result<u64, Status> { ... } fn lane_sequence(&self, _lane_tag: u64) -> Option<SeqHandle> { ... } fn grammar_create(&mut self, _json_schema: &str) -> Result<u32, Status> { ... } fn grammar_create_structural( &mut self, _tag_json: &str, ) -> Result<u32, Status> { ... } fn grammar_free(&mut self, _handle: u32) -> Result<(), Status> { ... } fn logit_bias_create( &mut self, _tokens: &[i32], _values: &[f32], ) -> Result<u32, Status> { ... } fn logit_bias_free(&mut self, _handle: u32) -> Result<(), Status> { ... } fn embed(&mut self, _tokens: &[u32]) -> Result<Vec<f32>, Status> { ... } fn transcribe( &mut self, _audio_path: &str, _params: &TranscribeParams, _on_segment: Option<SegmentSink<'_>>, ) -> Result<Transcription, Status> { ... } fn lora_load(&mut self, _adapter_path: &str) -> Result<(), Status> { ... } fn lora_unload(&mut self) -> Result<(), Status> { ... } fn lora_id(&self) -> Option<String> { ... } fn capability_descriptor(&self) -> Option<String> { ... } fn create_sequence(&mut self) -> Result<SeqHandle, Status> { ... } fn free_sequence(&mut self, _seq: SeqHandle) -> Result<(), Status> { ... } fn publish_sequence( &mut self, _seq: SeqHandle, _tokens: &[u32], ) -> Result<(), Status> { ... } fn unpublish(&mut self, _tokens: &[u32]) -> Result<(), Status> { ... } fn space_snapshot_boundary( &mut self, _seq: SeqHandle, _space_id: u32, _cap: u64, ) -> Result<u64, Status> { ... } fn cache_evict_entries( &mut self, _keys: &[([u8; 32], [u8; 32])], ) -> Result<(), Status> { ... } fn take_op_output(&mut self, _op: OpHandle) -> Option<Vec<u8>> { ... } fn n_layers(&self) -> u32 { ... } fn forward_stage( &mut self, _tokens: &[u32], _start_layer: u32, _end_layer: u32, _hidden_in: Option<Vec<u8>>, ) -> Result<StageOutput, Status> { ... }
}

Required Methods§

Source

fn tick<'a>( &'a mut self, plan: &TickPlan, arena: &RecordArena, rings: &mut dyn Rings, ) -> Result<&'a TickEvents, Status>

Source

fn pump(&mut self)

Source

fn state_spaces(&self) -> &[StateSpaceDesc]

Source

fn strategy_register( &mut self, reg: &StrategyRegistration, ) -> Result<&StrategyGrant, Status>

Source

fn space_match( &mut self, space_id: u32, span_tokens: &[u32], media_deps: &[[u8; 32]], ) -> Result<&MatchResult, Status>

Source

fn seed_acquire( &mut self, span_tokens: &[u32], prefix_len: u64, determinism_class: u8, ) -> Result<u64, Status>

Source

fn seed_release(&mut self, seed_handle: u64) -> Result<(), Status>

Source

fn seq_fork( &mut self, parent: SeqHandle, flags: u32, ) -> Result<SeqHandle, Status>

Source

fn space_export_size( &mut self, seq: SeqHandle, space_id: u32, range: TokenRange, encoding: u8, ) -> Result<(u64, u64), Status>

Source

fn space_snapshot( &mut self, seq: SeqHandle, space_id: u32, boundary_pos: u64, dst_len: u64, sizing_gen: u64, ) -> Result<OpHandle, Status>

Source

fn space_restore( &mut self, seq: SeqHandle, space_id: u32, src: &[u8], ) -> Result<OpHandle, Status>

Source

fn space_trim( &mut self, seq: SeqHandle, space_id: u32, new_len: u64, ) -> Result<(), Status>

Source

fn space_demote( &mut self, seq: SeqHandle, space_id: u32, range: TokenRange, encoding: u8, dst_len: u64, sizing_gen: u64, ) -> Result<OpHandle, Status>

Source

fn space_promote( &mut self, seq: SeqHandle, space_id: u32, range: TokenRange, src: &[u8], ) -> Result<OpHandle, Status>

Source

fn op_poll(&mut self, op: OpHandle) -> Result<OpStatus, Status>

Source

fn op_cancel(&mut self, op: OpHandle) -> Result<(), Status>

Source

fn cache_evict( &mut self, evictable_cache_classes: u64, protected_quota_bytes: u64, max_evict_bytes: u64, bytes_target: u64, ) -> Result<u64, Status>

Provided Methods§

Source

fn attach_ring(&mut self, _ring: &RingAttachment) -> Result<(), Status>

Source

fn kv_bits(&self) -> u32

Source

fn space_match_ref( &mut self, space_id: u32, _span: &TokenRef, span_tokens: &[u32], media_deps: &[[u8; 32]], ) -> Result<&MatchResult, Status>

Source

fn seed_acquire_ref( &mut self, _span: &TokenRef, span_tokens: &[u32], prefix_len: u64, determinism_class: u8, ) -> Result<u64, Status>

Source

fn seed_lease_ticks(&self) -> Option<u64>

Source

fn seed_adopt( &mut self, _seq: SeqHandle, _span_tokens: &[u32], ) -> Result<u64, Status>

Source

fn media_probe(&mut self, _image_path: &str) -> Result<MediaInfo, Status>

Source

fn media_encode( &mut self, _image_path: &str, ) -> Result<(u64, MediaInfo), Status>

Source

fn media_release(&mut self, _media_handle: u64) -> Result<(), Status>

Source

fn media_bind( &mut self, _lane_tag: u64, _media_handle: u64, _token_offset: u32, ) -> Result<(), Status>

Source

fn seed_adopt_ref( &mut self, seq: SeqHandle, _span: &TokenRef, span_tokens: &[u32], ) -> Result<u64, Status>

Source

fn lane_sequence(&self, _lane_tag: u64) -> Option<SeqHandle>

Source

fn grammar_create(&mut self, _json_schema: &str) -> Result<u32, Status>

Source

fn grammar_create_structural(&mut self, _tag_json: &str) -> Result<u32, Status>

Source

fn grammar_free(&mut self, _handle: u32) -> Result<(), Status>

Source

fn logit_bias_create( &mut self, _tokens: &[i32], _values: &[f32], ) -> Result<u32, Status>

Source

fn logit_bias_free(&mut self, _handle: u32) -> Result<(), Status>

Source

fn embed(&mut self, _tokens: &[u32]) -> Result<Vec<f32>, Status>

Source

fn transcribe( &mut self, _audio_path: &str, _params: &TranscribeParams, _on_segment: Option<SegmentSink<'_>>, ) -> Result<Transcription, Status>

Source

fn lora_load(&mut self, _adapter_path: &str) -> Result<(), Status>

Source

fn lora_unload(&mut self) -> Result<(), Status>

Source

fn lora_id(&self) -> Option<String>

Source

fn capability_descriptor(&self) -> Option<String>

Source

fn create_sequence(&mut self) -> Result<SeqHandle, Status>

Source

fn free_sequence(&mut self, _seq: SeqHandle) -> Result<(), Status>

Source

fn publish_sequence( &mut self, _seq: SeqHandle, _tokens: &[u32], ) -> Result<(), Status>

Source

fn unpublish(&mut self, _tokens: &[u32]) -> Result<(), Status>

Drops the prefix-cache entry published under exactly tokens, unless a seed holds it; none there is not an error.

Source

fn space_snapshot_boundary( &mut self, _seq: SeqHandle, _space_id: u32, _cap: u64, ) -> Result<u64, Status>

Source

fn cache_evict_entries( &mut self, _keys: &[([u8; 32], [u8; 32])], ) -> Result<(), Status>

Source

fn take_op_output(&mut self, _op: OpHandle) -> Option<Vec<u8>>

Source

fn n_layers(&self) -> u32

Source

fn forward_stage( &mut self, _tokens: &[u32], _start_layer: u32, _end_layer: u32, _hidden_in: Option<Vec<u8>>, ) -> Result<StageOutput, Status>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§