Part of #349
Summary
Add a simple FIFO ingest queue as the front of the pipeline and rework processing so:
- a transaction received by the gateway lands in the ingest FIFO,
- a pool of workers drains the FIFO, submits the tx to the endorser immediately, and gets the read-write set back,
- the
(transaction, endorsement, read-write set) pair is enqueued into the existing txqueue (now the endorsed queue), which holds the pair rather than just the tx.
From the endorsed queue, transactions are re-processed exactly as in main today: re-endorsed (conflicts may have arisen in the meantime) and then
submitted. No dependency-logic change in this issue.
Scope
- New ingest FIFO queue buffering between the network and the workers.
- Rework the worker pipeline: drain FIFO -> endorse -> enqueue the (tx, rwset) pair.
- Endorsed queue carries the pair; existing re-endorse-then-submit preserved.
- Keep the endorsed queue behind a clean interface (it will later be replaced by a distributed implementation).
Out of scope
- Changing how the endorsed queue determines conflicts (sub-issue 2).
Done when
The two queues exist, the pipeline endorses-then-enqueues, behavior is preserved, and tests/CI are green.
Part of #349
Summary
Add a simple FIFO ingest queue as the front of the pipeline and rework processing so:
(transaction, endorsement, read-write set)pair is enqueued into the existingtxqueue(now the endorsed queue), which holds the pair rather than just the tx.From the endorsed queue, transactions are re-processed exactly as in
maintoday: re-endorsed (conflicts may have arisen in the meantime) and thensubmitted. No dependency-logic change in this issue.
Scope
Out of scope
Done when
The two queues exist, the pipeline endorses-then-enqueues, behavior is preserved, and tests/CI are green.