Files
cuprate-for-explorer/binaries
SyntheticBird a23ca6f730 P2P: Abstract TCP methods under the Transport Trait. (#446)
Abstract TCP methods under the Transport Trait.

In workspace:
- Added a new `cuprate-p2p-transport` crate that will later welcome
complex or crate dependent transport implementations. (Arti for example.)

In `cuprate-p2p-core`:
- Implemented a new Transport trait that abstract methods to listen
for or connect to other peers over a NetworkZone Z.
- Reduced `NetworkZone` trait accordingly.
- Added a new `BROADCAST_OWN_ADDR` to `NetworkZone` for anonymized
networks.
- Implemented `Tcp` transport for `ClearNet`.
- Implemented `Dummy` transport for placeholder/testing purposes
- Adapted definition of P2P components to the new `Transport` trait.
- Changed original `InBoundStream` implementation to support two
different but optional listeners (IPv4/IPv6)

In `p2p-core/tests`:
- Implemented `FragTcp` for fragmented message testing

In `cuprated`:
- Added `p2p.enable_inbound_v6` and `listen_on_v6` config field.
- Added `From<&ClearNetConfig>` for `TransportConfig<ClearNet, Tcp>`.
- Abstracted original `start_clearnet_p2p` to `start_zone_p2p` with a
given `NetworkZone` and `Transport`.
- Zone/NetworkInterface<Z> P2P initialization has been moved to `cuprated::p2p` in
`initialize_zones_p2p` fn.
- Defined `NetworkInterfaces` collection (useless at the moment).
2025-05-10 14:22:19 +01:00
..