Files
nym/sdk/rust/nym-sdk/src/lib.rs
mfahampshire e454d71b78 Max/client pool (#5188)
* tcp conn tracker

* make default decay const

* first pass connpool

* err handling conpool start

* added notes for next features

* first version working

* first pass spin out client_pool

* cancel token

* logging change

* bump default decay time

* bugfix: make sure to apply gateway score filtering when choosing initial node

* add duplicate packets received to troubleshooting

* client_pool.rs mod

* client pool example

* clippy

* client pool example done

* added disconnect to client pool

* update mod file

* add cancel token disconnect fn

* comments

* comments

* add clone

* added disconnect thread

* update example files tcpproxy

* client pool docs

* remove comments for future ffi push + lower default pool size from 4 to 2

* comment on ffi

* update command help

* clone impl

* remove clone

* fix clippy

* fix clippy again

* fix test

* tweaked text grammar

* updated comment in example

* future is now

* cherry

* cherry

* fix borked rebase

* fix fmt

* wasm fix

---------

Co-authored-by: Jędrzej Stuczyński <jedrzej.stuczynski@gmail.com>
2025-01-14 16:11:47 +00:00

34 lines
1.0 KiB
Rust

//! Rust SDK for the Nym platform
//!
//! The main component currently is [`mixnet`].
//! [`tcp_proxy`] is probably a good place to start for anyone wanting to integrate with existing app code and read/write from a socket.
//! [`client_pool`] is a configurable client pool.
mod error;
pub mod bandwidth;
pub mod client_pool;
pub mod mixnet;
pub mod tcp_proxy;
pub use error::{Error, Result};
#[allow(deprecated)]
pub use nym_client_core::{
client::{
mix_traffic::transceiver::*,
topology_control::{
GeoAwareTopologyProvider, NymApiTopologyProvider, NymApiTopologyProviderConfig,
TopologyProvider,
},
},
config::DebugConfig,
};
pub use nym_network_defaults::{
ChainDetails, DenomDetails, DenomDetailsOwned, NymContracts, NymNetworkDetails,
ValidatorDetails,
};
pub use nym_validator_client::UserAgent;
// we have to re-expose TaskClient since we're allowing custom shutdown in public API
// (which is quite a shame if you ask me...)
pub use nym_task::TaskClient;