pub struct ModelRegistrationMessage {Show 20 fields
pub model_id: String,
pub name: String,
pub description: String,
pub modality: String,
pub category: String,
pub parameters: String,
pub context_length: u32,
pub provider: String,
pub peer_id: String,
pub pricing: PricingInfo,
pub schedule: Option<ModelSchedule>,
pub visibility: String,
pub ttl_secs: u64,
pub withdrawn: bool,
pub rpc_endpoint: String,
pub model_class: ModelClass,
pub artifact_completeness: ArtifactCompleteness,
pub artifacts: Vec<ArtifactMetadata>,
pub topology: ModelTopology,
pub execution_support: ExecutionSupport,
}Expand description
Model registration message — broadcast over gossipsub when a provider starts serving a model to the network.
Fields§
§model_id: StringModel identifier
name: StringModel name
description: StringModel description
modality: StringModel modality
category: StringModel category (e.g. “chat”, “completion”, “embedding”)
parameters: StringModel parameters (e.g. “3B”, “0.8B”)
context_length: u32Model context length
provider: StringProvider address
peer_id: StringProvider’s libp2p peer ID (for direct routing)
pricing: PricingInfoPricing information
schedule: Option<ModelSchedule>Serving schedule (when this model is available)
visibility: StringVisibility: “network” (gossipsub-discoverable) or “local” (this node only)
ttl_secs: u64TTL in seconds — entries expire if not refreshed (default 120s)
withdrawn: boolWhether this is a withdrawal (model stopped serving)
rpc_endpoint: StringRPC endpoint for inference requests (e.g. “http://10.128.0.3:8545”)
model_class: ModelClassRFC-0007: High-level model class classification
artifact_completeness: ArtifactCompletenessRFC-0007: Which artifact types are present, determining supported execution modes
artifacts: Vec<ArtifactMetadata>RFC-0007: Downloadable artifact descriptors (weights, shards, tokenizers)
topology: ModelTopologyRFC-0007: Internal topology metadata for MoE and large-scale models
execution_support: ExecutionSupportRFC-0007: Execution modes this provider can serve for this model
Trait Implementations§
Source§impl Clone for ModelRegistrationMessage
impl Clone for ModelRegistrationMessage
Source§fn clone(&self) -> ModelRegistrationMessage
fn clone(&self) -> ModelRegistrationMessage
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ModelRegistrationMessage
impl Debug for ModelRegistrationMessage
Source§impl Default for ModelRegistrationMessage
impl Default for ModelRegistrationMessage
Source§fn default() -> ModelRegistrationMessage
fn default() -> ModelRegistrationMessage
Source§impl<'de> Deserialize<'de> for ModelRegistrationMessage
impl<'de> Deserialize<'de> for ModelRegistrationMessage
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ModelRegistrationMessage
impl RefUnwindSafe for ModelRegistrationMessage
impl Send for ModelRegistrationMessage
impl Sync for ModelRegistrationMessage
impl Unpin for ModelRegistrationMessage
impl UnsafeUnpin for ModelRegistrationMessage
impl UnwindSafe for ModelRegistrationMessage
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
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>
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 more