pub struct HandleRecord {Show 18 fields
pub create_guid: Guid,
pub path: String,
pub share: String,
pub session_id: u64,
pub owner_user: String,
pub access: u32,
pub share_access: u32,
pub create_options: u32,
pub is_dir: bool,
pub flags: u32,
pub match_guid: Option<Guid>,
pub owner_node: String,
pub lease_key: Option<Guid>,
pub lease_state: u32,
pub client_guid: Guid,
pub timeout_ms: u64,
pub deadline_ms: u64,
pub delete_on_close: bool,
}Expand description
Persisted state for one durable/persistent handle.
Fields§
§create_guid: GuidServer-assigned create GUID that keys this handle ([MS-SMB2] §2.2.13.2.3).
path: StringShare-relative path of the open, used to re-open on reclaim.
Share name the handle belongs to.
session_id: u64Session that owns the open, validated on reclaim.
owner_user: StringUser (SecurityContext) that owns the durable handle; a reconnect by a different user is rejected with STATUS_ACCESS_DENIED ([MS-SMB2] §3.3.5.9.7).
access: u32Granted access mask re-applied when the handle is re-opened.
Share access (FILE_SHARE_*) the open was granted.
create_options: u32CreateOptions the open was made with, re-applied on reclaim.
is_dir: boolDirectory handle (re-opened as a directory on reclaim).
flags: u32Durable flags (v2 request / persistent).
match_guid: Option<Guid>Client create-guid to validate on a v2 reconnect (None for v1).
owner_node: StringNode currently owning the handle; empty when free for reclaim.
lease_key: Option<Guid>Lease key bound to the handle when it was opened with a lease.
lease_state: u32Granted lease state, recreated in the CREATE response on a persistent resume ([MS-SMB2] §3.3.5.9.12).
client_guid: GuidClient GUID that opened the handle; validated on a lease reconnect ([MS-SMB2] §3.3.5.9.7).
timeout_ms: u64Requested durable timeout in milliseconds (0 = persistent, no timeout).
deadline_ms: u64Absolute expiry (ms since epoch); 0 means persistent / never expires.
delete_on_close: boolWhether the open is marked delete-on-close.
Implementations§
Source§impl HandleRecord
impl HandleRecord
Sourcepub fn is_persistent(&self) -> bool
pub fn is_persistent(&self) -> bool
A persistent handle has no timeout and is never swept.
Trait Implementations§
Source§impl Clone for HandleRecord
impl Clone for HandleRecord
Source§fn clone(&self) -> HandleRecord
fn clone(&self) -> HandleRecord
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 HandleRecord
impl Debug for HandleRecord
Source§impl<'de> Deserialize<'de> for HandleRecord
impl<'de> Deserialize<'de> for HandleRecord
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>,
impl Eq for HandleRecord
Source§impl PartialEq for HandleRecord
impl PartialEq for HandleRecord
Source§fn eq(&self, other: &HandleRecord) -> bool
fn eq(&self, other: &HandleRecord) -> bool
self and other values to be equal, and is used by ==.