#lua #networking #api-bindings

mlua-socket

A Rust-native implementation of LuaSocket for mlua

13 releases

0.2.2 Oct 29, 2024
0.2.0 Aug 31, 2024
0.1.8 May 11, 2024
0.1.7 Mar 2, 2024
0.1.2 Nov 19, 2023

#490 in Network programming

MIT license

125KB
3K SLoC

Rust 2K SLoC // 0.0% comments Lua 1K SLoC // 0.2% comments

mlua-socket

A Rust-native implementation of LuaSocket for mlua.

License Arch Lua

Installing

Add to your Rust project using one of MLua's features: [lua51, lua52, lua53, lua54, luajit, luajit52].

$ cargo add mlua-socket --features luajit

Testing

$ make check

Benchmarking

$ make bench

Using

use mlua::Lua;

let lua = Lua::new();
mlua_socket::preload(&lua);
let script = r#"
    local socket = require('socket')
    local client = socket.connect('127.0.0.1', 3000)
    return client:send('abcd')
"#;
let _last_index: u16 = lua.load(script).eval()?;

Dependencies

~6–37MB
~600K SLoC