mirror of
https://github.com/microsoft/regorus.git
synced 2026-08-05 02:16:11 +00:00
394625d4bc
- Introduce ExecutionTimer/ExecutionTimerConfig to allow limiting evaluating time. - To amortize time checking costs, checking interval can be configured via the notion of work units - A global fallback time limit can be set to universally limit all evaluation in addition to engine level limit setting. - Implement limnits in interpreter and RVM. In RVM, also handle suspend/resume so that time during pause is not counted. - Add engine-level APIs to set/clear per-engine timer configuration and apply global fallback defaults. - Surface execution-time limits through FFI and C# bindings - Add C# tests and example usage to validate engine overrides, global fallback behavior, and compiled policy enforcement. - Expand docs for execution-time limit - Add interpreter YAML cases and VM unit tests for time-limit behavior and deterministic time sources. Signed-off-by: Anand Krishnamoorthi <anakrish@microsoft.com>
47 lines
1015 B
TOML
47 lines
1015 B
TOML
[workspace]
|
|
|
|
[package]
|
|
name = "regorus-ffi"
|
|
version = "0.5.0"
|
|
edition = "2021"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
[lib]
|
|
crate-type = ["cdylib", "staticlib"]
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
regorus = { path = "../..", default-features = false }
|
|
serde_json = "1.0.140"
|
|
parking_lot = { version = "0.12", optional = true }
|
|
|
|
[profile.release]
|
|
# Enable full debug info for optimized builds.
|
|
debug = "full"
|
|
# Split debuginfo into its own file to reduce binary size.
|
|
split-debuginfo = "packed"
|
|
lto = true
|
|
codegen-units = 1
|
|
|
|
[features]
|
|
default = [
|
|
"ast",
|
|
"azure_policy",
|
|
"std",
|
|
"coverage",
|
|
"allocator-memory-limits",
|
|
"regorus/arc",
|
|
"regorus/full-opa",
|
|
"contention_checks",
|
|
]
|
|
ast = ["regorus/ast"]
|
|
azure_policy = ["regorus/azure_policy"]
|
|
std = ["regorus/std"]
|
|
coverage = ["regorus/coverage"]
|
|
allocator-memory-limits = ["regorus/allocator-memory-limits"]
|
|
contention_checks = ["parking_lot"]
|
|
custom_allocator = []
|
|
|
|
[build-dependencies]
|
|
cbindgen = "0.29.2"
|