aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-06 01:19:02 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-06 01:19:02 +0200
commit5dd0fafce20ed37fdc97dc96539391ebdebffaff (patch)
treead93b9e8d0e9c9c7dbe5a858902c2ba0114a47cf /examples
parenta4c52bedef04cfb927f3d7809680fed0425a5125 (diff)
downloadsip-rs-5dd0fafce20ed37fdc97dc96539391ebdebffaff.tar
sip-rs-5dd0fafce20ed37fdc97dc96539391ebdebffaff.tar.bz2
sip-rs-5dd0fafce20ed37fdc97dc96539391ebdebffaff.tar.zst
generalize to support requests. untested
Diffstat (limited to 'examples')
-rw-r--r--examples/server.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/examples/server.rs b/examples/server.rs
new file mode 100644
index 0000000..5e294b0
--- /dev/null
+++ b/examples/server.rs
@@ -0,0 +1,20 @@
+use anyhow::Result;
+use log::info;
+use sip::{transaction::TransactionUser, transport::tcp::TcpTransport};
+use tokio::net::TcpListener;
+
+#[tokio::main]
+async fn main() -> Result<()> {
+ let listener = TcpListener::bind("0.0.0.0:5060").await?;
+
+ loop {
+ let (stream, addr) = listener.accept().await?;
+ info!("connection from {addr}");
+ let transport = TcpTransport::new(stream).await?;
+ let tu = TransactionUser::new(transport);
+
+ let req = tu.process_incoming().await?;
+ }
+
+ Ok(())
+}