embassy_socket/tcp_server/
mod.rs1use embassy_net::Stack;
2use crate::connection::socket_state::SocketState;
3use crate::tcp_server::callback::TcpServerCallBack;
4use crate::tcp_server::runner::TcpServerRunner;
5
6pub mod callback;
7pub mod runner;
8
9pub struct TcpServer<'d, const N: usize, const TX_SZ: usize, const RX_SZ: usize, const BUF_SIZE: usize, CB: TcpServerCallBack> {
11 runner: TcpServerRunner<'d, N, TX_SZ, RX_SZ, BUF_SIZE, CB>,
13}
14
15impl<'d, const N: usize, const TX_SZ: usize, const RX_SZ: usize, const BUF_SIZE: usize, CB: TcpServerCallBack>
17TcpServer<'d, N, TX_SZ, RX_SZ, BUF_SIZE, CB> {
18 #[inline]
20 pub fn new(stack: Stack<'d>, state: &'d SocketState<N, TX_SZ, RX_SZ, BUF_SIZE>, port: u16, cb: &'d CB) -> Self {
21 Self { runner: TcpServerRunner::new(stack, state, port, cb) }
22 }
23
24 #[inline]
27 pub fn create(&self) -> TcpServerRunner<'d, N, TX_SZ, RX_SZ, BUF_SIZE, CB> {
28 self.runner
29 }
30}