Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bastion 0.3.0 Rollup #58

Merged
merged 134 commits into from
Nov 6, 2019
Merged

Bastion 0.3.0 Rollup #58

merged 134 commits into from
Nov 6, 2019

Conversation

vertexclique
Copy link
Member

@vertexclique vertexclique commented Nov 6, 2019

This is the rollup PR for Bastion's 0.3.0 iteration.

With this merge, Bastion will have:

  • bastion – New surface API design (continuing our dynamic dispatch approach with more concrete design)
  • bastion-executor – NUMA-aware(optionally) cache affine fault-tolerant executor
  • lightproc – A lightweight process implementation that contains lifecycle callbacks, panic detection with containment and shared stack between processes.

r3v2d0g and others added 30 commits October 8, 2019 22:34
# Conflicts:
#	benches/bench_one_for_one.rs
#	examples/root_spv.rs
#	examples/spawn_from_context.rs
#	src/child.rs
#	src/context.rs
#	src/lib.rs
#	src/macros.rs
#	src/supervisor.rs
#	tests/lib.rs
#	tests/test_prelude.rs
# Conflicts:
#	Cargo.toml
#	bastion/src/registry.rs
#	bastion/src/system.rs
…eceivers after restarting and updated BastionId to generate its own ID by itself
…hild to store received message in it and Context to allow to get messages from it
- Added a really simple example to show how sending and receiving messages works from inside a child (this is a pre-release example, don't worry ;))
- Added support for spawning children from Bastion
- Updated System to automatically create a Supervisor with a NIL UUID (set to 0) to supervise those root-level Children
- Removed the "launch" method from Supervisor to use a "configuring closure" instead (the closure has the supervisor both as an input and output)
- Removed the "msg" argument from the "children" methods and closures
- Added support for spawning, stopping and killing remote children
- Added support for stopping and killing remote supervisors
- Updated System to only start after being asked to
- Updated System, Supervisor, Children and Child to register and initialize themselves when created
- Prepared Supervisor to have its own sub-supervisors

---

Side note: I apparently forgot to add my patch for "qutex" in my previous commit. Please excuse me for that :)
@vertexclique vertexclique merged commit f3af9ce into master Nov 6, 2019
@r3v2d0g r3v2d0g deleted the dev branch November 6, 2019 22:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants