pub struct RiResourceRequest {
pub request_id: String,
pub device_type: RiDeviceType,
pub required_capabilities: RiDeviceCapabilities,
pub priority: u8,
pub timeout_secs: u64,
pub sla_class: Option<RiRequestSlaClass>,
pub resource_weights: Option<RiResourceWeights>,
pub affinity: Option<RiAffinityRules>,
pub anti_affinity: Option<RiAffinityRules>,
}Expand description
Request structure for resource allocation.
This struct defines the requirements for resource allocation, including device type, capabilities, priority, timeout, and advanced scheduling preferences such as SLA, resource weights, and affinity rules. New fields are optional to preserve backward compatibility.
Fields§
§request_id: StringUnique request ID
device_type: RiDeviceTypeRequired device type
required_capabilities: RiDeviceCapabilitiesRequired device capabilities
priority: u8Request priority (1-10, higher is more important)
timeout_secs: u64Request timeout in seconds
sla_class: Option<RiRequestSlaClass>Optional SLA class for this request (e.g. Critical / High / Medium / Low)
resource_weights: Option<RiResourceWeights>Optional multi-dimensional resource weights to influence scheduling decisions
affinity: Option<RiAffinityRules>Optional affinity rules describing preferred/required device labels
anti_affinity: Option<RiAffinityRules>Optional anti-affinity rules describing labels or devices to avoid
Trait Implementations§
Source§impl Clone for RiResourceRequest
impl Clone for RiResourceRequest
Source§fn clone(&self) -> RiResourceRequest
fn clone(&self) -> RiResourceRequest
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 RiResourceRequest
impl Debug for RiResourceRequest
Source§impl<'de> Deserialize<'de> for RiResourceRequest
impl<'de> Deserialize<'de> for RiResourceRequest
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>,
Source§impl<'py> IntoPyObject<'py> for RiResourceRequest
impl<'py> IntoPyObject<'py> for RiResourceRequest
Source§type Target = RiResourceRequest
type Target = RiResourceRequest
Source§type Output = Bound<'py, <RiResourceRequest as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <RiResourceRequest as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PyClass for RiResourceRequest
impl PyClass for RiResourceRequest
Source§impl PyClassImpl for RiResourceRequest
impl PyClassImpl for RiResourceRequest
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// and affinity rules. New fields are optional to preserve backward compatibility.
const RAW_DOC: &'static CStr = /// and affinity rules. New fields are optional to preserve backward compatibility.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type ThreadChecker = SendablePyClass<RiResourceRequest>
type ThreadChecker = SendablePyClass<RiResourceRequest>
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
Source§impl PyClassNewTextSignature for RiResourceRequest
impl PyClassNewTextSignature for RiResourceRequest
const TEXT_SIGNATURE: &'static str = "(request_id, device_type, required_capabilities, priority=5, timeout_secs=60)"
Source§impl PyMethods<RiResourceRequest> for PyClassImplCollector<RiResourceRequest>
impl PyMethods<RiResourceRequest> for PyClassImplCollector<RiResourceRequest>
fn py_methods(self) -> &'static PyClassItems
Source§impl PyTypeInfo for RiResourceRequest
impl PyTypeInfo for RiResourceRequest
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§impl Serialize for RiResourceRequest
impl Serialize for RiResourceRequest
impl DerefToPyAny for RiResourceRequest
impl ExtractPyClassWithClone for RiResourceRequest
Auto Trait Implementations§
impl Freeze for RiResourceRequest
impl RefUnwindSafe for RiResourceRequest
impl Send for RiResourceRequest
impl Sync for RiResourceRequest
impl Unpin for RiResourceRequest
impl UnsafeUnpin for RiResourceRequest
impl UnwindSafe for RiResourceRequest
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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> FitForCBox for T
impl<T> FitForCBox for T
type CBoxWrapped = Box_<T>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> ManuallyDropMut for T
impl<T> ManuallyDropMut for T
type Ret = ManuallyDrop<T>
fn manually_drop_mut<'__>(&'__ mut self) -> &'__ mut ManuallyDrop<T>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
Use ::classinfo_object() instead and format the type name at runtime. Note that using built-in cast features is often better than manual PyTypeCheck usage.
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more