Nicholas Dudfield
6df48eeebf
fix(test): finish traffic suite api remaps
2026-09-18 14:01:21 +07:00
Nicholas Dudfield
f024a81169
fix(test): use xahaud csf scheduler method names
2026-09-18 13:59:52 +07:00
Nicholas Dudfield
730178bec8
test(consensus): port remaining deterministic and threaded scenarios
2026-09-18 13:50:35 +07:00
Nicholas Dudfield
318c0c6652
refactor(net): scope outbound http tls context to application
2026-09-18 13:49:58 +07:00
Nicholas Dudfield
318821df03
fix(test): classify xahaud acquisition and publication jobs
2026-09-18 13:40:54 +07:00
Nicholas Dudfield
6df644b050
fix(ledger): count publication as progress while running
2026-09-18 13:34:36 +07:00
Nicholas Dudfield
afe6dc534d
fix(app): persist genesis successor state tree
2026-09-18 13:34:32 +07:00
Nicholas Dudfield
2658752d76
fix(test): preserve harness node store across restarts
2026-09-18 13:34:28 +07:00
Nicholas Dudfield
88705e2155
Revert "fix(app): construct overlay before START_UP ledger load"
...
This reverts commit e2393646dc .
2026-09-18 13:29:19 +07:00
Nicholas Dudfield
e2393646dc
fix(app): construct overlay before START_UP ledger load
...
LOAD restart called overlay() from tryAdvance/getFetchPack while
overlay_ was still created later in setup. Keep beginConsensus after
the ledger exists.
2026-09-18 13:15:31 +07:00
Nicholas Dudfield
cf438abaf5
fix(overlay): expose Message::getMessageType for harness send hooks
...
xahaud packed the type in the header but had no accessor. Donor
getMessageType reads the uncompressed header; same here.
2026-09-18 13:00:11 +07:00
Nicholas Dudfield
a7364f70c8
feat(overlay): invoke Config harness observation hooks
...
MultiNode already installed send/message/lifecycle/validation hooks.
Call them from PeerImp, NetworkOPs, and handleNewValidation so
SteppingNetwork forensics are not empty. Production hooks stay empty.
2026-09-18 12:55:46 +07:00
Nicholas Dudfield
ea66232c01
fix(shamap): order deferred reads and resume walks deterministically
...
Wait for all deferred reads then sort by parentID/branch. Refill
resumes in SHAMapNodeID order so missing-node requests do not follow
reader completion or heap address order.
2026-09-18 12:51:21 +07:00
Nicholas Dudfield
c685df2cc5
fix(overlay): cancel virtual peer timer through cancelTimer
...
close() cancelled the raw asio timer while vtimer_ still held a strong
PeerImp callback, leaking the peer and its slot on sim teardown.
2026-09-18 12:51:16 +07:00
Nicholas Dudfield
bb74bcfd7a
fix(test): persist harness relational ledgers with sqlite
...
xahaud envconfig defaults relational to per-app rwdb, so LOAD latest
after stopNode cannot find the saved ledger. Donor unit tests leave
sqlite files under database_path; match that for restart policy.
2026-09-18 12:51:12 +07:00
Nicholas Dudfield
3d05673661
fix(test): register harness suites under ripple not xrpl
...
BEAST_DEFINE_TESTSUITE library name must match xahaud so
ripple.consensus.HarnessNet and SteppingDeterminism resolve.
2026-09-18 12:42:18 +07:00
Nicholas Dudfield
a3b5f769f4
fix(overlay): wrap PeerTest ssl_stream in SslTransport
...
tx_reduce_relay_test still passed unique_ptr<ssl_stream> into PeerImp
after the Transport weld. Match OverlayImpl and ConnectAttempt.
2026-09-18 12:39:48 +07:00
Nicholas Dudfield
7e9e78c3d1
fix(test): remap imported harness onto xahaud names
...
Config sections, JobTypes, Ledger::info, OpenLedger, FailHard, Account
master, RPC JsonContext, PeerFinder slots, protobuf header, and
beast::temp_dir. HarnessNet and SteppingDeterminism objects compile.
2026-09-18 12:25:46 +07:00
Nicholas Dudfield
0decfae0b7
wip(test): start xahaud API remaps on imported harness
...
JobType aliases, include paths, OverlayImpl method names, Config
COMPRESSION flags, and PeerFinder::Config::makeConfig. HarnessNet
does not compile yet.
2026-09-18 12:05:27 +07:00
Nicholas Dudfield
bec5e7bf5b
fix(config): keep protobuf Message outside namespace ripple
...
Forward-declaring google inside ripple made google::protobuf resolve to
ripple::google::protobuf and broke overlay ZeroCopyStream.
2026-09-18 11:59:40 +07:00
Nicholas Dudfield
d655cf24e9
feat(overlay): weld PeerImp I/O onto Transport
...
Inbound and outbound peers wrap the ssl_stream in SslTransport.
SimOverlay can now inject an in-process transport without a PeerImp
template.
2026-09-18 11:57:07 +07:00
Nicholas Dudfield
44fc6f6061
feat(test): import donor stepping harness sources
...
Mechanical copy of Transport, SimOverlay/SimTransport, MultiNode,
scheduler/controller/network, and HarnessNet/SteppingDeterminism suites
with xahaud name mappings. Overlay weld onto PeerImp is still required
before these compile.
2026-09-18 11:51:10 +07:00
Nicholas Dudfield
4932fee4f8
feat(server): optional listeners, peered envconfig, harness hooks
...
setupWithoutListeners stores setup without binding sockets. stepping
harnesses can disable signals and the stall detector via peeredEnvconfig.
Config grows observe-only peer/validation hooks, empty in production.
2026-09-18 11:48:50 +07:00
Nicholas Dudfield
645f16e7fe
feat(overlay): virtual peer timer, inline strands, precise clock
...
PeerImp arms TimeoutCounterTimer when makePeerTimer is installed.
inlineStrands builds the existing strand type over an inline executor.
Tracking, ping RTT and uptime use getPreciseStopwatch.
2026-09-18 11:47:01 +07:00
Nicholas Dudfield
4bea07f662
feat(shamap): inject Family PRNG into missing-node walks
...
NodeFamily forwards Application::getPrng. SHAMapSync draws first-child
offsets from that engine. TestNodeFamily keeps default_prng.
2026-09-18 11:44:49 +07:00
Nicholas Dudfield
8e2907f231
fix(overlay): score peers in id order with injected PRNG
...
getScore draws from Application::getPrng. addPeers, getPeerWithTree and
getPeerWithLedger collect and sort by peer id before scoring so draws
do not follow unordered overlay traversal.
2026-09-18 11:41:49 +07:00
Nicholas Dudfield
605eefd921
feat(app): route remaining stopwatch and PRNG consumers through Application
...
LedgerHistory, TransactionMaster, NodeFamily caches, PeerFinder and
reduce-relay idle checks use getStopwatch. Fetch-pack deadlines use the
same clock. Overlay tx relay, ping sequence and InboundLedger peer
sampling use getPrng; fetch-pack scoring and acquire sampling sort by
peer id first.
2026-09-18 11:35:53 +07:00
Nicholas Dudfield
656c86ac8e
feat(app): consume injected clocks and forward consensus clock
...
Caches, HashRouter, Validations, LedgerMaster and InboundLedgers use
the injected stopwatch. NetworkOPs passes that clock into RCLConsensus
instead of the process-global clock. manualHeartbeat suppresses the
asio heartbeat; heartbeatTick posts the same job.
2026-09-18 11:28:59 +07:00
Nicholas Dudfield
3a540f724f
fix(app): forward-declare Application before OverlayFactory
...
The alias uses Application&; declare the class first so the header does
not depend on a transitive declaration.
2026-09-18 11:27:33 +07:00
Nicholas Dudfield
2ecb940776
feat(jobqueue): expose lastJob completedJobs and suspendedCount
...
Donor MultiNode::threadedTick needs these counters even for baseline
stepping imports.
2026-09-18 11:21:38 +07:00
Nicholas Dudfield
cfe0daf862
feat(app): inject overlay factory and acquire timers
...
make_Application grows defaulted overlay/clock/prng/timer parameters.
Production still uses make_Overlay and asio TimeoutCounter timers.
steppingMode refuses empty timer factories.
2026-09-18 11:21:34 +07:00
Nicholas Dudfield
380b60f155
feat(jobqueue): claim jobs before the no-threads assert
...
DispatchHook is empty in production. claimedQueued/claimedDropped skip
the worker pool so a stepping harness can run with zero JobQueue threads.
2026-09-18 11:16:16 +07:00
Nicholas Dudfield
b060e43a9a
feat(config): add stepping and harness control flags
...
Production defaults keep current behavior. steppingMode zeros io and
JobQueue workers; signals and the deadlock detector become optional.
2026-09-18 11:15:33 +07:00
Nicholas Dudfield
526ac3475c
fix(app): keep first-ledger publication state per application
2026-09-18 10:55:19 +07:00
Nicholas Dudfield
84502af0d2
fix(txq): keep parent-hash ordering keys per candidate
2026-09-18 10:55:15 +07:00
Nicholas Dudfield
06a7d2c6ae
fix(overlay): isolate relay duplicate tracking per Slots instance
2026-09-18 10:55:11 +07:00
Nicholas Dudfield
14c93a5215
fix(consensus): isolate validation keep-range refresh deadlines
2026-09-18 10:55:07 +07:00
Nicholas Dudfield
d1b1367e43
test(rdb): use concrete ledgers in concurrent save regression
2026-09-18 10:35:30 +07:00
Nicholas Dudfield
91847f6bb0
fix(consensus): serialize consensus phase publication
2026-09-18 10:19:25 +07:00
Nicholas Dudfield
4b9f2ed886
fix(tx): synchronize mutable transaction response state
2026-09-18 10:18:30 +07:00
Nicholas Dudfield
9b8a1edd53
fix(ledger): synchronize acquire state access and received-data admission
2026-09-18 10:15:47 +07:00
Nicholas Dudfield
bd3b9ac775
fix(ledger): lock acquire completion state before reporting it
2026-09-18 10:15:42 +07:00
Nicholas Dudfield
c8852857d2
fix(ledger): synchronize ledger-age log throttles
2026-09-18 10:15:38 +07:00
Nicholas Dudfield
7015a23a57
fix(rdb): keep ledger-save SQL formatters local to each call
2026-09-18 10:12:59 +07:00
Nicholas Dudfield
adf33d5e63
fix(test): isolate concurrent suite log buffers
2026-09-18 10:02:59 +07:00
tequ
c208a40ce8
remove WASM: $COUNTER from SetHook_wasm.h ( #804 )
2026-09-09 15:31:11 +10:00
tequ
401a35957d
retire fixXahauV1, fixXahauV2 Amendments ( #722 )
2026-09-09 13:00:24 +10:00
Niq Dudfield
65ff61d518
fix: fail fast when amendment blocked instead of degraded state ( #707 )
2026-09-08 13:39:45 +10:00
Richard Holland
6191c1e09d
Onchain manifests ( #779 )
2026-09-07 13:19:25 +10:00
tequ
f1a3a775a1
Add optional Hooks data to account_info response ( #789 )
2026-09-02 17:22:53 +10:00