Trait redox_buffer_pool::Guarded[][src]

pub unsafe trait Guarded {
    type Target: ?Sized;
    fn borrow_guarded(&self) -> &Self::Target;
}
Expand description

A trait for pointer types that uphold the guard invariants, namely that the pointer must be owned, and that it must dereference into a stable address.

Associated Types

The target pointee that this pointer may dereference into. There are no real restrictions to what this type can be. However, the user must not assume that simply because a &Target reference is protected, that references indirectly derived (via Deref and other traits) would also be protected.

Required methods

Borrow the pointee, into a fixed reference that can be sent directly and safely to e.g. memory-sharing completion-based I/O interfaces.

Implementors of such interfaces must however take buffers by reference to maintain safety.

Implementations on Foreign Types

Implementors