rpc-core-net

Crates.iorpc-core-net
lib.rsrpc-core-net
version0.2.2
sourcesrc
created_at2023-11-28 10:13:08.946516
updated_at2023-12-16 11:58:32.191137
descriptiona tiny rpc library for rust
homepagehttps://github.com/shuai132/rpc_core
repositoryhttps://github.com/shuai132/rpc_core
max_upload_size
id1051834
size49,147
liushuai (shuai132)

documentation

README

rpc-core-net

Build Status Latest version Documentation License

Usage

Run the following Cargo command in your project directory:

cargo add rpc-core-net

Or add the following line to your Cargo.toml:

[dependencies]
rpc-core-net = "0.2.2"

Example

See examples for details: examples

  • server

    fn server() {
        let rpc = Rpc::new(None);
        rpc.subscribe("cmd", |msg: String| -> String {
            assert_eq!(msg, "hello");
            "world".to_string()
        });
      
        let server = rpc_server::RpcServer::new(6666, RpcConfigBuilder::new().rpc(Some(rpc.clone())).build());
        server.start();
    }
    
  • client

    fn client() {
        let rpc = Rpc::new(None);
        let client = rpc_client::RpcClient::new(RpcConfigBuilder::new().rpc(Some(rpc.clone())).build());
        client.set_reconnect(1000);
        client.open("localhost", 6666);
    
        let result = rpc_c.cmd("cmd").msg("hello").future::<String>().await;
        assert_eq!(result.result.unwrap(), "world");
    }
    

License

This project is licensed under the MIT license.

Commit count: 228

cargo fmt