{"id":16190072,"url":"https://github.com/brson/burst","last_synced_at":"2026-03-15T09:24:39.157Z","repository":{"id":66303228,"uuid":"52643847","full_name":"brson/burst","owner":"brson","description":"Realtime programming for Rust","archived":false,"fork":false,"pushed_at":"2016-02-28T09:29:46.000Z","size":59,"stargazers_count":28,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-15T17:51:16.648Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-02-27T01:29:10.000Z","updated_at":"2024-08-26T16:47:18.000Z","dependencies_parsed_at":"2023-02-20T21:00:55.608Z","dependency_job_id":null,"html_url":"https://github.com/brson/burst","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brson%2Fburst","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brson%2Fburst/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brson%2Fburst/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brson%2Fburst/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brson","download_url":"https://codeload.github.com/brson/burst/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231501580,"owners_count":18386285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T07:38:29.957Z","updated_at":"2025-10-16T11:15:45.290Z","avatar_url":"https://github.com/brson.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Realtime programming for Rust\n\n**BuRSt** is a framework for writing realtime software in the Rust\nprogramming language. It enforces static and dynamic guarantees about\nthe latency of operations. It runs in tiny environments and does not\ndepend on the Rust standard library.\n\n*NOTE: BuRSt is a proof-of-concept. It is not ready for use.*\n\n## About BuRSt\n\nBuRSt enforces a two-phase programming model, wherein work with\nunpredicatble latency is performed in the initial setup phase,\nfollowed by a realtime phase where operations must have known\nlatencies. All allocation is performed in the setup phase.\n\nIt replaces the Rust standard library with a minimal set of\nplatform-independent components optimized for realtime programming,\nincluding realtime-suitable replacements for the common collection\nand synchronization types.\n\nIt further offers a selection of platform-specific, and\nplatform-independent, components built on `burst-core` that are\ndesigned to encourage best practices. It runs on Linux, but is\nintended to be compatible with other real-time environments.\n\n[See the example](examples/example1.rs).\n\nNo BuRSt crates depend on `std`. The BuRSt framework is a\nreplacement for `std` for embedded systems.\n\nBuRSt only runs on Rust nightly.\n\n## BuRSt core\n\n`burst-core` defines the BuRSt programming model along with a\nnumber of platform-independent data structures suitable for realtime\nprogramming.\n\nA burst program begins by calling `burst::begin_setup` to retrieve the\nsingleton *setup token*, `St`. The setup token is passed to all\nfunctions that might allocate, have unpredicatble latency, or might\notherwise cause unpredictable system behavior.\n\n`burst-core` defines the standard box and collection types, including\n`Box`, `Rc`, `Arc`, `Vec`, and `HashMap`. These are generally identical\nto the `std` types of the same name, except that all operations which\nmight allocate take a reference to `\u0026St`.\n\n`Vec` and `HashMap`, though their capacities are frozen after the\nsetup phase, may still be mutated during the realtime phase.\n\nThe core has few platform dependencies, mainly the allocator, the\nrandom number generator, and platform-specific facilities for ensuring\nreal-time operation such as `mlockall`. All platform-specific code is\nabstracted into the `burst-core-pal-linux` crate for future\nportability.\n\n## BuRSt framework\n\nTODO\n\n## License\n\nMIT/Apache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrson%2Fburst","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrson%2Fburst","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrson%2Fburst/lists"}