Skip to main content

run_fstack_tcp

Function run_fstack_tcp 

Source
pub fn run_fstack_tcp(listener: &FStackTcpListener)
Examples found in repository?
examples/tcp_echo.rs (line 61)
38fn main() {
39    // Docker/TAP configuration — swap for FStackConfig::for_bare_metal() on bare metal.
40    let cfg = FStackConfig::for_docker();
41
42    println!("Initializing F-Stack...");
43    init_fstack(&cfg.config_args(), &cfg.eal_args());
44
45    let bind_ip   = "0.0.0.0".to_string();
46    let bind_port = 8080u16;
47
48    let tcp_opts = TcpSocketOptions::default()
49        .nodelay(true)
50        .quickack(true);
51
52    println!("Creating TCP listener on {}:{}...", bind_ip, bind_port);
53    let listener: UniquePtr<FStackTcpListener> =
54        create_tcp_listener(&bind_ip, bind_port, &tcp_opts.to_ffi(), on_connect, on_data, on_disconnect);
55
56    unsafe {
57        GLOBAL_LISTENER = Some(&*listener as *const FStackTcpListener);
58    }
59
60    println!("Starting F-Stack TCP event loop...");
61    run_fstack_tcp(&listener);
62}