Crate hyperlight_host

Source
Expand description

This crate contains an SDK that is used to execute specially-

Re-exports§

pub use error::HyperlightError;
pub use metrics::set_metrics_registry;
pub use sandbox::is_hypervisor_present;
pub use sandbox::uninitialized::GuestBinary;
pub use sandbox::MultiUseSandbox;
pub use sandbox::SandboxRunOptions;
pub use sandbox::UninitializedSandbox;
pub use crate::func::call_ctx::MultiUseGuestCallContext;

Modules§

error
Dealing with errors, including errors across VM boundaries
func
Wrappers for host and guest functions.
hypervisor
Wrappers for hypervisor implementations
mem
Functionality to establish and manage an individual sandbox’s memory.
metrics
Metric definitions and helpers
sandbox
The main sandbox implementations. Do not use this module directly in code outside this file. Types from this module needed for public consumption are re-exported below.
sandbox_state
traits and other functionality for dealing with defining sandbox states and moving between them

Macros§

and
Shorthand for chaining SeccompConditions with the and operator in a SeccompRule. The rule will take the Allow action if all the conditions are true.
debug
Same as log::debug!, but will additionally print to stdout if the print_debug feature is enabled
histogram_observe
Observes a value for a Histogram
histogram_sample_count
Gets the count of values of an Histogram or logs an error if the metric is not found Returns 0 if the metric is not found
histogram_sample_sum
Gets the sum of values of an Histogram or logs an error if the metric is not found Returns 0.0 if the metric is not found
histogram_time_micros
Observe the time it takes to execute an expression, record that time in microseconds in a Histogram and return the result of that expression
histogram_vec_observe
Observes a value for a HistogramVec
histogram_vec_sample_count
Gets the count of values of an HistogramVec or logs an error if the metric is not found Returns 0 if the metric is not found
histogram_vec_sample_sum
Gets the sum of values of an HistogramVec or logs an error if the metric is not found Returns 0.0 if the metric is not found
histogram_vec_time_micros
Observe the time it takes to execute an expression, record that time in microseconds in a HistogramVec, and return the result of that expression
int_counter_get
Gets the value of an IntCounter or logs an error if the metric is not found
int_counter_inc
Increments an IntCounter by 1 or logs an error if the metric is not found
int_counter_inc_by
Increments an IntCounter by a given value or logs an error if the metric is not found
int_counter_reset
Resets an IntCounter or logs an error if the metric is not found
int_counter_vec_get
Gets the value of an IntCounterVec or logs an error if the metric is not found Returns 0 if the metric is not found
int_counter_vec_inc
Increments an IntCounterVec by 1 or logs an error if the metric is not found
int_counter_vec_inc_by
Increments an IntCounterVec by a value or logs an error if the metric is not found
int_counter_vec_reset
Resets an IntCounterVec or logs an error if the metric is not found
int_gauge_add
Adds a value to an IntGauge or logs an error if the metric is not found
int_gauge_dec
Decrements an IntGauge by 1 or logs an error if the metric is not found
int_gauge_get
Gets the value of an IntGauge logs an error and returns 0 if the metric is not found
int_gauge_inc
Increments an IntGauge by 1 or logs an error if the metric is not found
int_gauge_set
Sets an IntGauge to value or logs an error if the metric is not found
int_gauge_sub
Subtracts a value from an IntGauge or logs an error if the metric is not found
log_then_return
Logs an error then returns with it, more or less equivalent to the bail! macro in anyhow but for HyperlightError instead of anyhow::Error
new_error
Creates a HyperlightError::Error from a string literal or format string
or
Shorthand for chaining SeccompRules with the or operator in a SeccompFilter.

Type Aliases§

Result
The universal Result type used throughout the Hyperlight codebase.