pub struct LeaseHolder {
pub key: [u8; 16],
pub state: u32,
pub epoch: u16,
pub v2: bool,
pub session_id: u64,
pub file_id: [u8; 16],
pub outbound: Sender<Vec<u8>>,
pub crypto: BreakCrypto,
pub client_guid: [u8; 16],
pub breaking: bool,
pub break_to: u32,
}Expand description
A granted caching lease and the means to break it ([MS-SMB2] §2.2.23.2).
Fields§
§key: [u8; 16]Client-chosen lease key identifying the shared caching state.
state: u32Currently granted lease state (caching bits).
epoch: u16Lease epoch (v2), bumped on each downgrade.
v2: boolTrue when the holder negotiated the v2 lease form.
session_id: u64Session that holds the lease.
file_id: [u8; 16]File id the lease was granted on (for per-open release).
outbound: Sender<Vec<u8>>Outbound queue of the holder’s connection, to push the break.
crypto: BreakCryptoCrypto material to protect the break notification.
client_guid: [u8; 16]Client GUID that owns the lease, to validate a break acknowledgment.
breaking: boolTrue while a break is outstanding and awaiting acknowledgment.
break_to: u32The lease state the holder is being broken to (ack must be a subset).
Auto Trait Implementations§
impl Freeze for LeaseHolder
impl RefUnwindSafe for LeaseHolder
impl Send for LeaseHolder
impl Sync for LeaseHolder
impl Unpin for LeaseHolder
impl UnsafeUnpin for LeaseHolder
impl UnwindSafe for LeaseHolder
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