Expand description
The birth claim: taking the home’s pid file BEFORE the store opens.
The claim runs at stage zero of the boot — after the death note is armed,
before configuration is consumed, before the store is opened, before
anything that can take minutes. From that instant the home has a record,
so aion server status can describe the boot, aion server stop can stop
it, and a second aion server on the same home is REFUSED instead of
stacking silently behind the store’s writer lock.
What the claim does with what it finds is the whole design:
| found | verdict |
|---|---|
| nothing | claim |
| a dead incarnation’s record | claim, reporting the debris |
| a reused pid | claim, leaving the stranger alone |
| unparseable content | claim, reporting it |
| a LIVE incarnation whose addresses collide | refuse the boot |
| a LIVE incarnation on other addresses | boot UNCLAIMED (legal multi-server home) |
| a LIVE incarnation that is DRAINING | succeed it |
Collision is decided against the addresses this boot INTENDS to bind (resolved config), because at birth nothing is bound yet. A booting sibling with no addresses recorded is ALWAYS a collision: it has not chosen its doors yet, both boots read the same config, and the only honest reading of two boots racing on one home is that they are the same server twice.
Structs§
- Home
Already Claimed - The refusal: this Aion home is already held by a LIVE server incarnation whose doors collide with the ones this boot intends to open.
- Intended
Addresses - The addresses a boot intends to bind, resolved from its own configuration before any listener exists. The birth claim compares a live holder’s RECORDED addresses against these to decide whether the two servers collide.
Functions§
- claim_
at_ birth - Claim the home’s pid file at BIRTH, before the store is opened.