summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Müller <neikos@neikos.email>2022-08-19 12:04:23 +0200
committerMarcel Müller <neikos@neikos.email>2022-12-12 12:40:06 +0100
commitd29e514d23294d549850b7539ea565df509bb3e2 (patch)
tree1923f14b2c2df464b25b9fccecdb65e12b72e37e
parentc831945ec272e71cab8faffa64ddb47dcda16616 (diff)
Add server example binary
Co-authored-by: Matthias Beyer <mail@matthiasbeyer.de> Signed-off-by: Marcel Müller <neikos@neikos.email>
-rw-r--r--Cargo.toml4
-rw-r--r--src/bin/cloudmqtt-server.rs24
2 files changed, 28 insertions, 0 deletions
diff --git a/Cargo.toml b/Cargo.toml
index d6a3f71..d5ed2a6 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -19,6 +19,10 @@ members = ["mqtt-format"]
name = "cloudmqtt-client"
required-features = ["bin"]
+[[bin]]
+name = "cloudmqtt-server"
+required-features = ["bin"]
+
[features]
bin = [
"clap",
diff --git a/src/bin/cloudmqtt-server.rs b/src/bin/cloudmqtt-server.rs
new file mode 100644
index 0000000..9f6b501
--- /dev/null
+++ b/src/bin/cloudmqtt-server.rs
@@ -0,0 +1,24 @@
+use cloudmqtt::server::MqttServer;
+use tracing_subscriber::layer::SubscriberExt;
+use tracing_subscriber::util::SubscriberInitExt;
+
+
+#[tokio::main]
+async fn main() {
+ let fmt_layer = tracing_subscriber::fmt::layer()
+ .pretty()
+ .with_timer(tracing_subscriber::fmt::time::uptime());
+
+ let filter_layer = tracing_subscriber::EnvFilter::from_default_env();
+
+ tracing_subscriber::registry()
+ .with(fmt_layer)
+ .with(filter_layer)
+ .init();
+
+ tracing::info!("Starting server");
+
+ let mut server = MqttServer::serve_v3_unsecured_tcp("0.0.0.0:1883").await.unwrap();
+
+ server.accept_new_clients().await.unwrap();
+}