msgpack-rpc

MessagePack RPC for D.


Keywords
library, network
Licenses
BSL-1.0/SSPL-1.0
Install
dub fetch msgpack-rpc --version 0.1.3

Documentation

MessagePack RPC for D

MessagePack RPC implementation based on vibe.d

Example

Client

auto client = new TCPClient(Endpoint(18800, "127.0.0.1"));

// sync request
auto num = client.call!ulong("sum", 1, 2);

// async request: return a Future object
auto future = client.callAsync("sum", 1, 2);

// notify
client.notify("hello", "hoge");

Server

Object

class FooServer
{
    ulong sum(ulong l, ulong r)
    {
        return l + r;
    }

    void hello(string msg)
    {   
        writeln(msg);
    }
}

// TCPServer or UDPServer
auto server = new TCPServer!(FooServer)(new FooServer);
server.listen(Endpoint(18800, "127.0.0.1"));
server.start();

module

module foo;

ulong sum(ulong l, ulong r)
{
    return l + r;
}

void hello(string msg)
{   
    writeln(msg);
}

auto server = new TCPServer!(foo)();
// same as Object

Link

Copyright

Author Masahiro Nakagawa
Copyright Copyright (c) 2013- Masahiro Nakagawa
License MIT License