|
@@ -1,3 +1,13 @@
|
|
|
|
+//! This module contains the core services (and channel definitions) that make up a `fleck` node.
|
|
|
|
+//!
|
|
|
|
+//! Currently, the following externally-accessible services are added by default:
|
|
|
|
+//! - [`msg::MessageService`]
|
|
|
|
+//! - [`node::NodeService`]
|
|
|
|
+//! - [`discovery::LocalDiscovery`]
|
|
|
|
+//! - [`peer::PeerService`]
|
|
|
|
+//! - [`crypto::EncryptionService`]
|
|
|
|
+
|
|
|
|
+
|
|
pub mod crypto;
|
|
pub mod crypto;
|
|
pub mod discovery;
|
|
pub mod discovery;
|
|
pub mod io;
|
|
pub mod io;
|
|
@@ -41,6 +51,7 @@ pub type MinorTickChannel = (channel_tags::MinorTickTag, ());
|
|
/// Major ticks (several times per minute): for retries, cleanup tasks, periodic queries, etc
|
|
/// Major ticks (several times per minute): for retries, cleanup tasks, periodic queries, etc
|
|
pub type MajorTickChannel = (channel_tags::MajorTickTag, ());
|
|
pub type MajorTickChannel = (channel_tags::MajorTickTag, ());
|
|
|
|
|
|
|
|
+/// Initial bootstrapping service to create the other core services.
|
|
#[derive(Default)]
|
|
#[derive(Default)]
|
|
pub struct CoreInitService {}
|
|
pub struct CoreInitService {}
|
|
|
|
|
|
@@ -66,6 +77,7 @@ impl crate::service::DefaultService for CoreInitService {
|
|
api.add_service::<node::NodeService>();
|
|
api.add_service::<node::NodeService>();
|
|
api.add_service::<discovery::DiscoveryService>();
|
|
api.add_service::<discovery::DiscoveryService>();
|
|
api.add_service::<discovery::LocalDiscovery>();
|
|
api.add_service::<discovery::LocalDiscovery>();
|
|
|
|
+ api.add_service::<discovery::PeerDiscovery>();
|
|
api.add_service::<peer::PeerService>();
|
|
api.add_service::<peer::PeerService>();
|
|
api.add_service::<crypto::SignPacket>();
|
|
api.add_service::<crypto::SignPacket>();
|
|
api.add_service::<crypto::EncryptionService>();
|
|
api.add_service::<crypto::EncryptionService>();
|