diff --git a/src/rpu.rs b/src/rpu.rs index a45634c1a3..a42544de67 100644 --- a/src/rpu.rs +++ b/src/rpu.rs @@ -2,6 +2,26 @@ //! 3-stage transaction processing pipeline in software. It listens //! for `Request` messages from clients and replies with `Response` //! messages. +//! +//! ```text +//! .------. +//! | Bank | +//! `---+--` +//! | +//! .------------------|-------------------. +//! | RPU | | +//! | v | +//! .---------. | .-------. .---------. .---------. | .---------. +//! | Alice |--->| | | | | +---->| Alice | +//! `---------` | | Fetch | | Request | | Respond | | `---------` +//! | | Stage |->| Stage |->| Stage | | +//! .---------. | | | | | | | | .---------. +//! | Bob |--->| | | | | +---->| Bob | +//! `---------` | `-------` `---------` `---------` | `---------` +//! | | +//! | | +//! `--------------------------------------` +//! ``` use bank::Bank; use packet; diff --git a/src/tpu.rs b/src/tpu.rs index 8bf0d6f930..45b898f5c8 100644 --- a/src/tpu.rs +++ b/src/tpu.rs @@ -1,5 +1,29 @@ //! The `tpu` module implements the Transaction Processing Unit, a //! 5-stage transaction processing pipeline in software. +//! +//! ```text +//! .---------------------------------------------------------------. +//! | TPU .-----. | +//! | | PoH | | +//! | `--+--` | +//! | | | +//! | v | +//! | .-------. .-----------. .---------. .--------. .-------. | +//! .---------. | | Fetch | | SigVerify | | Banking | | Record | | Write | | .------------. +//! | Clients |--->| Stage |->| Stage |->| Stage |->| Stage |->| Stage +--->| Validators | +//! `---------` | | | | | | | | | | | | `------------` +//! | `-------` `-----------` `----+----` `--------` `---+---` | +//! | | | | +//! | | | | +//! | | | | +//! | | | | +//! `---------------------------------|-----------------------|-----` +//! | | +//! v v +//! .------. .--------. +//! | Bank | | Ledger | +//! `------` `--------` +//! ``` use bank::Bank; use banking_stage::BankingStage;