Crate fringe [−] [src]
libfringe is a library implementing safe, lightweight context switches,
without relying on kernel services. It can be used in hosted environments
(using std
) as well as on bare metal (using core
).
It provides the following safe abstractions:
- an implementation of generators, Generator.
It also provides the necessary low-level building blocks:
- a trait that can be implemented by stack allocators, Stack;
- a wrapper for using slice references as stacks, SliceStack;
- a stack allocator based on
Box<[u8]>
, OwnedStack; - a stack allocator based on anonymous memory mappings with guard pages, OsStack.
Reexports
pub use generator::Generator; |
Modules
generator |
Generators. |
Structs
OwnedStack |
OwnedStack holds a non-guarded, heap-allocated stack. |
SliceStack |
SliceStack holds a non-guarded stack allocated elsewhere and provided as a mutable slice. |
Constants
STACK_ALIGNMENT |
Minimum alignment of a stack base address on the target platform. |
Traits
GuardedStack |
A marker trait for |
Stack |
A trait for objects that hold ownership of a stack. |