pub struct VirtualizationManager { /* private fields */ }Expand description
Main virtualization manager
Implementations§
Source§impl VirtualizationManager
impl VirtualizationManager
Sourcepub fn new(config: VirtualizationConfig) -> Self
pub fn new(config: VirtualizationConfig) -> Self
Creates a new virtualization manager with the given configuration
Sourcepub async fn analyze_virtualization_opportunities(
&self,
objects: &HashMap<GorcObjectId, (Vec3, Vec<ReplicationLayer>)>,
) -> VirtualizationRecommendations
pub async fn analyze_virtualization_opportunities( &self, objects: &HashMap<GorcObjectId, (Vec3, Vec<ReplicationLayer>)>, ) -> VirtualizationRecommendations
Analyzes the given objects and returns merge/split recommendations
Sourcepub async fn merge_zones(
&self,
merge_request: ZoneMergeRequest,
) -> Result<VirtualZoneId, VirtualizationError>
pub async fn merge_zones( &self, merge_request: ZoneMergeRequest, ) -> Result<VirtualZoneId, VirtualizationError>
Performs zone merge operation
Sourcepub async fn split_virtual_zone(
&self,
virtual_id: VirtualZoneId,
) -> Result<Vec<GorcObjectId>, VirtualizationError>
pub async fn split_virtual_zone( &self, virtual_id: VirtualZoneId, ) -> Result<Vec<GorcObjectId>, VirtualizationError>
Performs zone split operation
Sourcepub async fn update_object_position(
&self,
object_id: GorcObjectId,
_old_position: Vec3,
new_position: Vec3,
) -> Vec<VirtualZoneId>
pub async fn update_object_position( &self, object_id: GorcObjectId, _old_position: Vec3, new_position: Vec3, ) -> Vec<VirtualZoneId>
Updates object positions and checks for split conditions
Sourcepub async fn is_in_virtual_zone(
&self,
position: Vec3,
channel: u8,
) -> Option<VirtualZoneId>
pub async fn is_in_virtual_zone( &self, position: Vec3, channel: u8, ) -> Option<VirtualZoneId>
Checks if objects are subscribed to a virtual zone
Sourcepub async fn get_virtual_zone_objects(
&self,
virtual_id: VirtualZoneId,
) -> Vec<GorcObjectId>
pub async fn get_virtual_zone_objects( &self, virtual_id: VirtualZoneId, ) -> Vec<GorcObjectId>
Gets all objects in a virtual zone
Sourcepub async fn get_stats(&self) -> VirtualizationStats
pub async fn get_stats(&self) -> VirtualizationStats
Gets virtualization statistics
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for VirtualizationManager
impl !UnwindSafe for VirtualizationManager
impl Freeze for VirtualizationManager
impl Send for VirtualizationManager
impl Sync for VirtualizationManager
impl Unpin for VirtualizationManager
impl UnsafeUnpin for VirtualizationManager
Blanket Implementations§
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