# Setting up a PeerManager
The PeerManager
is responsible for managing a set of peer connections and data associated with those peers.
# Adding a PeerManager
To add a PeerManager
to your application, run:
- Rust
- Kotlin
- Swift
use lightning::ln::peer_handler::{PeerManager}; let mut ephemeral_bytes = [0; 32]; rand::thread_rng().fill_bytes(&mut ephemeral_bytes); let lightning_msg_handler = MessageHandler { chan_handler: channel_manager, route_handler: gossip_sync, onion_message_handler: onion_messenger, custom_message_handler: IgnoringMessageHandler {} }; let peer_manager = PeerManager::new( lightning_msg_handler, cur_time.as_secs().try_into().map_err(|e| { log_error!(logger, "Failed to get current time: {}", e); BuildError::InvalidSystemTime })?, &ephemeral_bytes, &logger, &keys_manager );
Copied!
Implementation notes: if you did not initialize P2PGossipSync
in the previous step, you can initialize your own struct (which can be a dummy struct) that implements RoutingMessageHandler
Dependencies: ChannelManager
, RoutingMessageHandler
, KeysManager
, random bytes, Logger
References: Rust PeerManager
docs (opens new window), Rust RoutingMessageHandler
docs (opens new window), Java/Kotlin PeerManager
bindings (opens new window), Java/Kotlin RoutingMessageHandler
bindings (opens new window)