pub struct KernelCodeSource {
pub version_id: u64,
pub format: KernelCodeFormat,
pub code: Vec<u8>,
pub entry_point: String,
pub metadata: HashMap<String, String>,
pub created_at: Instant,
pub hash: [u8; 32],
}Expand description
Kernel code source for hot reload.
Fields§
§version_id: u64Unique identifier for this code version.
format: KernelCodeFormatCode format.
code: Vec<u8>Raw code bytes.
entry_point: StringEntry point function name.
metadata: HashMap<String, String>Optional metadata (compile flags, etc.).
created_at: InstantTimestamp when code was created.
hash: [u8; 32]SHA-256 hash of the code.
Implementations§
Source§impl KernelCodeSource
impl KernelCodeSource
Sourcepub fn new(
format: KernelCodeFormat,
code: Vec<u8>,
entry_point: impl Into<String>,
) -> KernelCodeSource
pub fn new( format: KernelCodeFormat, code: Vec<u8>, entry_point: impl Into<String>, ) -> KernelCodeSource
Create a new kernel code source.
Sourcepub fn from_ptx(ptx: &str, entry_point: impl Into<String>) -> KernelCodeSource
pub fn from_ptx(ptx: &str, entry_point: impl Into<String>) -> KernelCodeSource
Create from PTX code.
Sourcepub fn from_wgsl(wgsl: &str, entry_point: impl Into<String>) -> KernelCodeSource
pub fn from_wgsl(wgsl: &str, entry_point: impl Into<String>) -> KernelCodeSource
Create from WGSL code.
Sourcepub fn from_msl(msl: &str, entry_point: impl Into<String>) -> KernelCodeSource
pub fn from_msl(msl: &str, entry_point: impl Into<String>) -> KernelCodeSource
Create from MSL code.
Sourcepub fn with_version(self, version: u64) -> KernelCodeSource
pub fn with_version(self, version: u64) -> KernelCodeSource
Set version ID.
Sourcepub fn with_metadata(
self,
key: impl Into<String>,
value: impl Into<String>,
) -> KernelCodeSource
pub fn with_metadata( self, key: impl Into<String>, value: impl Into<String>, ) -> KernelCodeSource
Add metadata.
Trait Implementations§
Source§impl Clone for KernelCodeSource
impl Clone for KernelCodeSource
Source§fn clone(&self) -> KernelCodeSource
fn clone(&self) -> KernelCodeSource
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for KernelCodeSource
impl RefUnwindSafe for KernelCodeSource
impl Send for KernelCodeSource
impl Sync for KernelCodeSource
impl Unpin for KernelCodeSource
impl UnwindSafe for KernelCodeSource
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.