1 unstable release
0.3.1 | Oct 27, 2024 |
---|
#750 in Rust patterns
15KB
332 lines
TCP-Struct
Access structs over TCP with 2 lines of code
Features
- default = ["async-tcp"]
- async-tcp
How to register?
#[register_impl]
impl MyStruct {
pub async fn function1(self, input: u16) -> String { ... }
pub async fn function2(self, input: u32) -> String { ... }
}
#[derive(TCPShare)]
struct MyStruct {}
How to use(Server)?
MyStruct::default().start(8082, "struct-version").await;
How to use(Client)?
let data = MyStruct::read(8082, "struct-version").function1(0);
Info
- struct-version needs to be the same on both sides
- the
#[register_impl]
needs to be above the#[derive(TCPShare)]
{MyStruct}Reader
&{MyStruct}Writer
structs are generated and therefor shouldnt be used{MyStruct}
start(self, port, identifier)
&read(port, identifier)
are generated and therefor shouldnt be used
Issues
- the
#[register_impl]
needs to be above the#[derive(TCPShare)]
- across files?
Dependencies
~3–11MB
~119K SLoC