Structure near-city acquisition input families
This commit is contained in:
parent
210a1c28d2
commit
572326217b
2 changed files with 60 additions and 0 deletions
|
|
@ -3482,6 +3482,12 @@ pub struct SmpPeriodicCompanyServiceTraceReport {
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub peer_site_runtime_reconstruction_steps: Vec<String>,
|
pub peer_site_runtime_reconstruction_steps: Vec<String>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
|
pub near_city_acquisition_region_input_fields: Vec<String>,
|
||||||
|
#[serde(default)]
|
||||||
|
pub near_city_acquisition_peer_input_fields: Vec<String>,
|
||||||
|
#[serde(default)]
|
||||||
|
pub near_city_acquisition_company_input_fields: Vec<String>,
|
||||||
|
#[serde(default)]
|
||||||
pub atlas_candidate_consumers: Vec<String>,
|
pub atlas_candidate_consumers: Vec<String>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub known_bridge_helpers: Vec<String>,
|
pub known_bridge_helpers: Vec<String>,
|
||||||
|
|
@ -4102,6 +4108,26 @@ fn build_periodic_company_service_trace_report(
|
||||||
"[peer+0x08] refreshed during 0x00444690 -> 0x004133b0 -> 0x0040ee10 -> 0x0040edf6 -> 0x00480710"
|
"[peer+0x08] refreshed during 0x00444690 -> 0x004133b0 -> 0x0040ee10 -> 0x0040edf6 -> 0x00480710"
|
||||||
.to_string(),
|
.to_string(),
|
||||||
];
|
];
|
||||||
|
let near_city_acquisition_region_input_fields = vec![
|
||||||
|
"[region+0x276] pending amount gate".to_string(),
|
||||||
|
"region vtable +0x80 byte-0x32 class filter consumed through 0x0040d360".to_string(),
|
||||||
|
"[region+0x3d5] age/year delta lane".to_string(),
|
||||||
|
"[region+0x310/+0x338/+0x360] cached tri-lane sampled through 0x0040cac0".to_string(),
|
||||||
|
"[region+0x2a4] winning linked company id output lane".to_string(),
|
||||||
|
];
|
||||||
|
let near_city_acquisition_peer_input_fields = vec![
|
||||||
|
"center-cell token gate 0x0041f6e0 -> 0x0042b2d0 over the current region".to_string(),
|
||||||
|
"[site+0x04] live backing-record selector consumed by 0x0047efe0 / 0x0047fd50".to_string(),
|
||||||
|
"[site+0x2a8] linked peer-site id consumed by 0x0040d1f0".to_string(),
|
||||||
|
"[peer+0x08] route-entry anchor id consumed by 0x0047dda0".to_string(),
|
||||||
|
"linked-region status branch 0x0047de00 -> 0x0040c990".to_string(),
|
||||||
|
];
|
||||||
|
let near_city_acquisition_company_input_fields = vec![
|
||||||
|
"company stat-family reader 0x2329/0x0d through 0x0042a5d0".to_string(),
|
||||||
|
"current chairman profile byte [profile+0x291] through 0x00426ef0".to_string(),
|
||||||
|
"company byte [company+0x5b] and indexed lane [company+0x67 + 12*0x0042a0e0()]".to_string(),
|
||||||
|
"company-root argument [company+0x00] passed into 0x0040d540 and 0x00455f60".to_string(),
|
||||||
|
];
|
||||||
let atlas_candidate_consumers = vec![
|
let atlas_candidate_consumers = vec![
|
||||||
"0x004019e0 periodic company outer service owner".to_string(),
|
"0x004019e0 periodic company outer service owner".to_string(),
|
||||||
"0x00406050 city-connection bonus/news owner".to_string(),
|
"0x00406050 city-connection bonus/news owner".to_string(),
|
||||||
|
|
@ -4357,6 +4383,9 @@ fn build_periodic_company_service_trace_report(
|
||||||
peer_site_runtime_input_fields,
|
peer_site_runtime_input_fields,
|
||||||
peer_site_runtime_reconstruction_status,
|
peer_site_runtime_reconstruction_status,
|
||||||
peer_site_runtime_reconstruction_steps,
|
peer_site_runtime_reconstruction_steps,
|
||||||
|
near_city_acquisition_region_input_fields,
|
||||||
|
near_city_acquisition_peer_input_fields,
|
||||||
|
near_city_acquisition_company_input_fields,
|
||||||
atlas_candidate_consumers,
|
atlas_candidate_consumers,
|
||||||
known_bridge_helpers,
|
known_bridge_helpers,
|
||||||
next_owner_questions,
|
next_owner_questions,
|
||||||
|
|
@ -26034,6 +26063,9 @@ mod tests {
|
||||||
"restore_subset_and_bring_up_reconstruct_runtime_subset"
|
"restore_subset_and_bring_up_reconstruct_runtime_subset"
|
||||||
);
|
);
|
||||||
assert_eq!(trace.peer_site_runtime_reconstruction_steps.len(), 3);
|
assert_eq!(trace.peer_site_runtime_reconstruction_steps.len(), 3);
|
||||||
|
assert_eq!(trace.near_city_acquisition_region_input_fields.len(), 5);
|
||||||
|
assert_eq!(trace.near_city_acquisition_peer_input_fields.len(), 5);
|
||||||
|
assert_eq!(trace.near_city_acquisition_company_input_fields.len(), 4);
|
||||||
assert!(trace.atlas_candidate_consumers.iter().any(|line| {
|
assert!(trace.atlas_candidate_consumers.iter().any(|line| {
|
||||||
line.contains("0x00420030 / 0x00420280")
|
line.contains("0x00420030 / 0x00420280")
|
||||||
&& line.contains("0x006cec20")
|
&& line.contains("0x006cec20")
|
||||||
|
|
@ -26044,6 +26076,24 @@ mod tests {
|
||||||
&& line.contains("0x004014b0")
|
&& line.contains("0x004014b0")
|
||||||
&& line.contains("peer-site restore subset")
|
&& line.contains("peer-site restore subset")
|
||||||
}));
|
}));
|
||||||
|
assert!(
|
||||||
|
trace
|
||||||
|
.near_city_acquisition_region_input_fields
|
||||||
|
.iter()
|
||||||
|
.any(|line| line.contains("[region+0x276]"))
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
trace
|
||||||
|
.near_city_acquisition_peer_input_fields
|
||||||
|
.iter()
|
||||||
|
.any(|line| line.contains("[site+0x04]"))
|
||||||
|
);
|
||||||
|
assert!(
|
||||||
|
trace
|
||||||
|
.near_city_acquisition_company_input_fields
|
||||||
|
.iter()
|
||||||
|
.any(|line| line.contains("0x2329/0x0d"))
|
||||||
|
);
|
||||||
assert!(trace.next_owner_questions.iter().any(|line| {
|
assert!(trace.next_owner_questions.iter().any(|line| {
|
||||||
line.contains("0x004160aa")
|
line.contains("0x004160aa")
|
||||||
&& line.contains("0x0040ee10")
|
&& line.contains("0x0040ee10")
|
||||||
|
|
|
||||||
|
|
@ -123,6 +123,16 @@ Working rule:
|
||||||
`restore_subset_and_bring_up_reconstruct_runtime_subset`
|
`restore_subset_and_bring_up_reconstruct_runtime_subset`
|
||||||
- treat the runtime subset as reconstructible from the restore subset plus the already-grounded
|
- treat the runtime subset as reconstructible from the restore subset plus the already-grounded
|
||||||
bring-up path for planning purposes
|
bring-up path for planning purposes
|
||||||
|
- use the new structured acquisition input families in the same trace:
|
||||||
|
region subset
|
||||||
|
`[region+0x276]`, region vtable `+0x80` byte-`0x32`, `[region+0x3d5]`,
|
||||||
|
`[region+0x310/+0x338/+0x360]`, `[region+0x2a4]`;
|
||||||
|
peer subset
|
||||||
|
center-cell token gate, `[site+0x04]`, `[site+0x2a8]`, `[peer+0x08]`, linked-region status;
|
||||||
|
company subset
|
||||||
|
stat-family reader `0x2329/0x0d`, chairman byte `[profile+0x291]`, company byte `[company+0x5b]`
|
||||||
|
plus indexed lane `[company+0x67 + 12*0x0042a0e0()]`, and the company-root argument passed into
|
||||||
|
`0x0040d540 / 0x00455f60`
|
||||||
- make the next periodic-company slice about the smaller shellless-simulation question instead:
|
- make the next periodic-company slice about the smaller shellless-simulation question instead:
|
||||||
which persisted region/company linkage fields are still missing for `0x004014b0` and the
|
which persisted region/company linkage fields are still missing for `0x004014b0` and the
|
||||||
city-connection sibling once the peer-site runtime subset is no longer the blocker
|
city-connection sibling once the peer-site runtime subset is no longer the blocker
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue