www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - anyone using msgpackrpc-d ? it's currently broken and doesn't seem

reply Timothee Cour via Digitalmars-d <digitalmars-d puremagic.com> writes:
any help on this would be most welcome:
https://github.com/msgpack-rpc/msgpack-rpc-d/issues/16

Unfortunately I find the RPC support in D lacking. Having a good RPC
integration for D is key for production use of D where one wants to
integrate with other existing services (that could be written in other
languages for eg)
Jun 12 2017
next sibling parent reply Domain <dont_email empty.com> writes:
On Monday, 12 June 2017 at 18:12:38 UTC, Timothee Cour wrote:
 any help on this would be most welcome: 
 https://github.com/msgpack-rpc/msgpack-rpc-d/issues/16

 Unfortunately I find the RPC support in D lacking. Having a 
 good RPC integration for D is key for production use of D where 
 one wants to integrate with other existing services (that could 
 be written in other languages for eg)
http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/21312/
Jun 12 2017
parent Timothee Cour via Digitalmars-d <digitalmars-d puremagic.com> writes:
Thanks for the link; last answer was from 2014, and doesn't look like
the problem was close to being solved. Any help with how to address
this issue would be really appreciated!




On Mon, Jun 12, 2017 at 6:35 PM, Domain via Digitalmars-d
<digitalmars-d puremagic.com> wrote:
 On Monday, 12 June 2017 at 18:12:38 UTC, Timothee Cour wrote:
 any help on this would be most welcome:
 https://github.com/msgpack-rpc/msgpack-rpc-d/issues/16

 Unfortunately I find the RPC support in D lacking. Having a good RPC
 integration for D is key for production use of D where one wants to
 integrate with other existing services (that could be written in other
 languages for eg)
http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/21312/
Jun 12 2017
prev sibling next sibling parent Atila Neves <atila.neves gmail.com> writes:
On Monday, 12 June 2017 at 18:12:38 UTC, Timothee Cour wrote:
 any help on this would be most welcome: 
 https://github.com/msgpack-rpc/msgpack-rpc-d/issues/16

 Unfortunately I find the RPC support in D lacking. Having a 
 good RPC integration for D is key for production use of D where 
 one wants to integrate with other existing services (that could 
 be written in other languages for eg)
Thrift? Atila
Jun 13 2017
prev sibling next sibling parent reply Yawniek <y srtnwz.com> writes:
On Monday, 12 June 2017 at 18:12:38 UTC, Timothee Cour wrote:
 any help on this would be most welcome: 
 https://github.com/msgpack-rpc/msgpack-rpc-d/issues/16

 Unfortunately I find the RPC support in D lacking. Having a 
 good RPC integration for D is key for production use of D where 
 one wants to integrate with other existing services (that could 
 be written in other languages for eg)
Msgpack rpc with vibe.d works. We used it. Its extremely fast, youll never get that speed with thrift. But also annoying, ghus we switched towards http + asdf
Jun 14 2017
parent reply David Nadlinger <code klickverbot.at> writes:
On Wednesday, 14 June 2017 at 19:55:49 UTC, Yawniek wrote:
 Msgpack rpc with vibe.d works. We used it.
 Its extremely fast, youll never get that speed with thrift.
I don't think Thrift is fundamentally much different in performance than MessagePack, see e.g. https://github.com/thekvs/cpp-serializers. Do you have data to suggest otherwise? (I of course originally wrote Thrift/D, but that was long enough ago that I like to think I'm not particularly biased either way.) As for the performance of the RPC server, I'd think that just hooking vibe.d sockets into Thrift should give you similar performance to msgpack-rpc/vibe.d. — David
Jun 14 2017
parent reply Timothee Cour via Digitalmars-d <digitalmars-d puremagic.com> writes:
 Msgpack rpc with vibe.d works. We used it.
you mean with msgpackrpc-d? If so, it works, until you run into https://github.com/msgpack-rpc/msgpack-rpc-d/issues/16 (when server sends >= 4090 bytes, client hangs forever).
 we switched towards http + asdf
not sure what asdf is? On Wed, Jun 14, 2017 at 4:42 PM, David Nadlinger via Digitalmars-d <digitalmars-d puremagic.com> wrote:
 On Wednesday, 14 June 2017 at 19:55:49 UTC, Yawniek wrote:
 Msgpack rpc with vibe.d works. We used it.
 Its extremely fast, youll never get that speed with thrift.
I don't think Thrift is fundamentally much different in performance than MessagePack, see e.g. https://github.com/thekvs/cpp-serializers. Do you have data to suggest otherwise? (I of course originally wrote Thrift/D, but that was long enough ago that I like to think I'm not particularly biased either way.) As for the performance of the RPC server, I'd think that just hooking vibe.d sockets into Thrift should give you similar performance to msgpack-rpc/vibe.d. — David
Jun 14 2017
next sibling parent Wulfklaue <wulfklaue wulfklaue.com> writes:
On Thursday, 15 June 2017 at 04:14:22 UTC, Timothee Cour wrote:
 not sure what asdf is?
I assume its this. https://en.wikipedia.org/wiki/Advanced_Scientific_Data_Format A file format with a YAML header followed by binary or ascii data. Human readable in design but still has binary/ascii data. Technically its just a block based binary file format but they replaced the header with a human readable header, instead of a binary header.
Jun 15 2017
prev sibling parent lobo <swamplobo gmail.com> writes:
On Thursday, 15 June 2017 at 04:14:22 UTC, Timothee Cour wrote:
 Msgpack rpc with vibe.d works. We used it.
you mean with msgpackrpc-d? If so, it works, until you run into https://github.com/msgpack-rpc/msgpack-rpc-d/issues/16 (when server sends >= 4090 bytes, client hangs forever).
 we switched towards http + asdf
not sure what asdf is?
Probably this: https://github.com/tamediadigital/asdf
Jun 15 2017
prev sibling parent Poyeyo <poyeyo arcadechaser.com> writes:
On Monday, 12 June 2017 at 18:12:38 UTC, Timothee Cour wrote:
 any help on this would be most welcome: 
 https://github.com/msgpack-rpc/msgpack-rpc-d/issues/16

 Unfortunately I find the RPC support in D lacking. Having a 
 good RPC integration for D is key for production use of D where 
 one wants to integrate with other existing services (that could 
 be written in other languages for eg)
An alternative, and quite fast in C++ according to one of the answers here, is Cap'n'proto. There is a D implementation here: https://github.com/ThomasBrixLarsen/capnproto-dlang Regards,
Jun 15 2017