public interface IRealmProcessHostHow a realm process is actually started.
Remarks
The seam, and the reason it exists is doc 27 § Testing: "Vixen.Live.Placement.Process is to this document what Vixen.Net.Transport.Local is to doc 16". A test that asserts a fleet converges after a randomised sequence of kills, restarts and partitions cannot afford to be starting real processes — it would take minutes, it would be flaky on a loaded CI machine, and killing a process at an exact moment is not something a test can ask for.
So the backend is written against this, the default implementation is SystemProcessHost, and a test supplies one that starts nothing. The production path and the tested path are the same code above this line, which is the property that makes the seam worth its two interfaces.
Methods (1)
IRealmProcessHandle Start(RealmProcessRequest request)Starts one.
Used by (3)
- FakeProcessHostVixen.Live.Placement.Process.Tests
- ProcessPlacementVixen.Live.Placement.Process
- SystemProcessHostVixen.Live.Placement.Process