Skip to main content

Module claim

Module claim 

Source
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:

foundverdict
nothingclaim
a dead incarnation’s recordclaim, reporting the debris
a reused pidclaim, leaving the stranger alone
unparseable contentclaim, reporting it
a LIVE incarnation whose addresses colliderefuse the boot
a LIVE incarnation on other addressesboot UNCLAIMED (legal multi-server home)
a LIVE incarnation that is DRAININGsucceed 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§

HomeAlreadyClaimed
The refusal: this Aion home is already held by a LIVE server incarnation whose doors collide with the ones this boot intends to open.
IntendedAddresses
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.