Consolidate the duplicated JSON codec into `transport` and relocate the iroh edge-transport pieces into `iroh-driver`, dissolving the `mvp-system` transport shim. - `transport`: add a canonical `json_codec::JsonCodec<M>` (re-exported from the crate root) as the single JSON codec for serde message types - `distribution`/`datastream`: drop the per-crate `JsonCodec` copies and the `impl_json_codec!` macro; register SWIM/gossip and publisher messages against the shared `swactor_transport::JsonCodec` - `iroh-driver`: move `driver_pumps` and `endpoint_advertisement` out of `mvp-system/src/transport/`, re-exporting `EndpointAddrMask`/`advertised_endpoint`/`MVP_IROH_ENDPOINT_ADDR_MASK_ENV`, and relocate the endpoint guarantee test to `iroh-driver/tests/endpoint_advertisement.rs` - `mvp-system`: delete the `transport/` module and keep codec aggregation in a new `codecs.rs` (`register_mvp_actor_codecs`) - `mvp-system/node`: shrink `worker_node_runtime.rs` (~260 lines) by adopting the relocated modules and collapsing verbose `emit_stdio_node_event` calls into local `boot()`/`worker_evt()` closures Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
18 lines
657 B
Rust
18 lines
657 B
Rust
//! `swactor-transport` — Ed25519 identity + encoding helpers for swactor peers.
|
|
//!
|
|
//! This crate is the wire-format anchor for distribution / node. The keypair is
|
|
//! a thin wrapper over `ed25519-dalek::SigningKey`.
|
|
//! The on-disk identity file is JSON of the form
|
|
//! `{"secret_key_hex": "<64 hex chars>"}` — 32 bytes of secret seed.
|
|
|
|
pub mod codec;
|
|
pub mod crypto;
|
|
pub mod identity;
|
|
pub mod json_codec;
|
|
pub mod transport;
|
|
|
|
pub use codec::{
|
|
hex_decode, hex_encode, Codec, CodecRegistry, NetworkMessage, NodeId, WireEnvelope,
|
|
};
|
|
pub use json_codec::JsonCodec;
|
|
pub use transport::{CodecRemoteSink, InMemoryTransport, Transport, TransportRouter};
|