mlua-socket 0.2.7

A Rust-native implementation of LuaSocket for mlua.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use super::tcp::Tcp;
use mlua::{Error, FromLua, Lua, MultiValue};
use std::net::SocketAddr;

pub(super) fn handle(lua: &Lua, tcp: &Tcp, args: MultiValue) -> Result<(), Error> {
    // Parse args
    let addr: String = String::from_lua(args[0].clone(), lua)?;
    let port: u16 = u16::from_lua(args[1].clone(), lua)?;
    // TODO locaddr args[2]
    // TODO locport args[3]
    // TODO family args[4]
    let socket_addr: SocketAddr = format!("{addr}:{port}").parse()?;

    // Connect
    tcp.socket.connect(&socket_addr.into())?;
    Ok(())
}