pub struct InMemoryNodeManager<TImpl> { /* private fields */ }Expand description
A node manager that stores its nodes in an in-memory AddressSpace. This only supports a static list of namespaces, and a attributes stored in memory.
Implementations of custom behavior are provided with a type implementing InMemoryNodeManagerImpl.
Implementations§
Source§impl<TImpl: InMemoryNodeManagerImpl> InMemoryNodeManager<TImpl>
impl<TImpl: InMemoryNodeManagerImpl> InMemoryNodeManager<TImpl>
Sourcepub fn inner(&self) -> &TImpl
pub fn inner(&self) -> &TImpl
Return the inner InMemoryNodeManagerImpl.
Sourcepub fn address_space(&self) -> &Arc<RwLock<AddressSpace>> ⓘ
pub fn address_space(&self) -> &Arc<RwLock<AddressSpace>> ⓘ
Get the address space.
Sourcepub fn namespaces(&self) -> &HashMap<u16, String>
pub fn namespaces(&self) -> &HashMap<u16, String>
Get a reference to the namespaces managed by this node manager, by namespace index.
Sourcepub fn set_attributes<'a>(
&self,
subscriptions: &SubscriptionCache,
values: impl Iterator<Item = (&'a NodeId, AttributeId, Variant)>,
) -> Result<(), StatusCode>
pub fn set_attributes<'a>( &self, subscriptions: &SubscriptionCache, values: impl Iterator<Item = (&'a NodeId, AttributeId, Variant)>, ) -> Result<(), StatusCode>
Set the attributes given in values and notify any subscriptions
about the changes.
To set values, use InMemoryNodeManager::set_values.
Sourcepub fn set_attribute(
&self,
subscriptions: &SubscriptionCache,
id: &NodeId,
attribute_id: AttributeId,
value: Variant,
) -> Result<(), StatusCode>
pub fn set_attribute( &self, subscriptions: &SubscriptionCache, id: &NodeId, attribute_id: AttributeId, value: Variant, ) -> Result<(), StatusCode>
Set the attribute given by attribute_id on the node with ID id to
value.
Sourcepub fn set_values<'a>(
&self,
subscriptions: &SubscriptionCache,
values: impl Iterator<Item = (&'a NodeId, Option<&'a NumericRange>, DataValue)>,
) -> Result<(), StatusCode>
pub fn set_values<'a>( &self, subscriptions: &SubscriptionCache, values: impl Iterator<Item = (&'a NodeId, Option<&'a NumericRange>, DataValue)>, ) -> Result<(), StatusCode>
Set variable values with updates given by values, notifying any
subscriptions of the changes.
Sourcepub fn set_value(
&self,
subscriptions: &SubscriptionCache,
id: &NodeId,
index_range: Option<&NumericRange>,
value: DataValue,
) -> Result<(), StatusCode>
pub fn set_value( &self, subscriptions: &SubscriptionCache, id: &NodeId, index_range: Option<&NumericRange>, value: DataValue, ) -> Result<(), StatusCode>
Set the variable value to value, using index_range, on the
node with ID id.
Trait Implementations§
Source§impl<TImpl: InMemoryNodeManagerImpl> NodeManager for InMemoryNodeManager<TImpl>
impl<TImpl: InMemoryNodeManagerImpl> NodeManager for InMemoryNodeManager<TImpl>
Source§fn add_nodes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes_to_add: &'life2 mut [&'life3 mut AddNodeItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn add_nodes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes_to_add: &'life2 mut [&'life3 mut AddNodeItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Add a list of nodes.
This should create the nodes, or set a failed status as appropriate. If a node was created, the status should be set to Good.
Source§fn owns_node(&self, id: &NodeId) -> bool
fn owns_node(&self, id: &NodeId) -> bool
Source§fn init<'life0, 'life1, 'async_trait>(
&'life0 self,
type_tree: &'life1 mut DefaultTypeTree,
context: ServerContext,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn init<'life0, 'life1, 'async_trait>(
&'life0 self,
type_tree: &'life1 mut DefaultTypeTree,
context: ServerContext,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn namespaces_for_user(
&self,
_context: &RequestContext,
) -> Vec<NamespaceMetadata>
fn namespaces_for_user( &self, _context: &RequestContext, ) -> Vec<NamespaceMetadata>
Source§fn handle_new_node(&self, parent_id: &ExpandedNodeId) -> bool
fn handle_new_node(&self, parent_id: &ExpandedNodeId) -> bool
Source§fn resolve_external_references<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
items: &'life2 mut [&'life3 mut ExternalReferenceRequest],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn resolve_external_references<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
items: &'life2 mut [&'life3 mut ExternalReferenceRequest],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn browse<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes_to_browse: &'life2 mut [BrowseNode],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn browse<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes_to_browse: &'life2 mut [BrowseNode],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn read<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
max_age: f64,
timestamps_to_return: TimestampsToReturn,
nodes_to_read: &'life2 mut [&'life3 mut ReadNode],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn read<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
max_age: f64,
timestamps_to_return: TimestampsToReturn,
nodes_to_read: &'life2 mut [&'life3 mut ReadNode],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn translate_browse_paths_to_node_ids<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes: &'life2 mut [&'life3 mut BrowsePathItem<'_>],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn translate_browse_paths_to_node_ids<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes: &'life2 mut [&'life3 mut BrowsePathItem<'_>],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn register_nodes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes: &'life2 mut [&'life3 mut RegisterNodeItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn register_nodes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes: &'life2 mut [&'life3 mut RegisterNodeItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn unregister_nodes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes: &'life2 [&'life3 NodeId],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn unregister_nodes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes: &'life2 [&'life3 NodeId],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn create_monitored_items<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
items: &'life2 mut [&'life3 mut CreateMonitoredItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn create_monitored_items<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
items: &'life2 mut [&'life3 mut CreateMonitoredItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn modify_monitored_items<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
items: &'life2 [&'life3 MonitoredItemUpdateRef],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn modify_monitored_items<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
items: &'life2 [&'life3 MonitoredItemUpdateRef],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn set_monitoring_mode<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
mode: MonitoringMode,
items: &'life2 [&'life3 MonitoredItemRef],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn set_monitoring_mode<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
mode: MonitoringMode,
items: &'life2 [&'life3 MonitoredItemRef],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
create_monitored_items, since it may be called again to resume sampling. Read moreSource§fn delete_monitored_items<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
items: &'life2 [&'life3 MonitoredItemRef],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn delete_monitored_items<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
items: &'life2 [&'life3 MonitoredItemRef],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn history_read_raw_modified<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadRawModifiedDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn history_read_raw_modified<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadRawModifiedDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
nodes list of type either HistoryData or HistoryModifiedDataSource§fn history_read_processed<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadProcessedDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn history_read_processed<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadProcessedDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
nodes list of type HistoryData.Source§fn history_read_at_time<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadAtTimeDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn history_read_at_time<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadAtTimeDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
nodes list of type HistoryData.Source§fn history_read_events<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadEventDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn history_read_events<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadEventDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
nodes list of type HistoryEvent.Source§fn history_read_annotations<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadAnnotationDataDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn history_read_annotations<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
details: &'life2 ReadAnnotationDataDetails,
nodes: &'life3 mut [&'life4 mut HistoryNode],
timestamps_to_return: TimestampsToReturn,
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
nodes list of type Annotation.Source§fn write<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes_to_write: &'life2 mut [&'life3 mut WriteNode],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn write<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes_to_write: &'life2 mut [&'life3 mut WriteNode],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
nodes_to_write list. The default result is BadNodeIdUnknownSource§fn history_update<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes: &'life2 mut [&'life3 mut HistoryUpdateNode],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn history_update<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes: &'life2 mut [&'life3 mut HistoryUpdateNode],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
nodes list as appropriate.Source§fn call<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
methods_to_call: &'life2 mut [&'life3 mut MethodCall],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn call<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
methods_to_call: &'life2 mut [&'life3 mut MethodCall],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn add_references<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
references_to_add: &'life2 mut [&'life3 mut AddReferenceItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn add_references<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
references_to_add: &'life2 mut [&'life3 mut AddReferenceItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn delete_nodes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes_to_delete: &'life2 mut [&'life3 mut DeleteNodeItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn delete_nodes<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
nodes_to_delete: &'life2 mut [&'life3 mut DeleteNodeItem],
) -> Pin<Box<dyn Future<Output = Result<(), StatusCode>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn delete_node_references<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
to_delete: &'life2 [&'life3 DeleteNodeItem],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn delete_node_references<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
context: &'life1 RequestContext,
to_delete: &'life2 [&'life3 DeleteNodeItem],
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
delete_target_references. Read more