feat: boros gasket broadcast queue / backpressure (#36)
* feat: add broadcast queue stage
* refactor: improve stage initialization and transaction capacity handling
* feat: integrate U5cDataAdapter into broadcast stage for enhanced transaction handling
* refactor: remove unused PeerSharingClient from Peer struct
* feat: introduce mempool module with basic FIFO functionality and transaction handling
* fix: mempool locking contention that causes inconsistency in tx submission
* feat: add peer discovery stage to the pipeline for improved transaction processing
* refactor: update transaction handling in mempool and peer modules for improved clarity and efficiency
* refactor: replace receiver with sender in PeerManager for improved message handling
* fix: improve transaction reception handling in Peer by addressing lagged and closed channel scenarios
* feat: broadcast implementation using gasket
* refactor: follow gasket broadcast naming convention
* refactor: improved handling of request txids blocking and nonblocking
* feat: introduce network module with mempool and peer_manager implementations
* feat: add MockOuroborosTxSubmitPeerServer implementation and update pipeline broadcast channel capacity
* fix: handle lagged messages generically
* fix: handle lagged broadcast messages generically
* feat: add broadcast backpressure unit test simulation
* feat: enhance MockOuroborosTxSubmitPeerServer with processing delay and improve broadcast tests
* refactor: simplify transaction broadcasting logic in MockOuroborosTxSubmitPeerServer
* refactor: extract transaction hashes for clarity in broadcast tests
* fix: improve error handling in mempool methods
* refactor: fix clippy warning about enum variant names
* chore: update pallas dependency to use GitHub repo
* fix: change transaction status from Validated to Pending in ingest pipeline
---------
Co-authored-by: Lance Vincent Salera <[email protected]>