Linear RPC

Overview

linear-rpc includes 'msgpack-rpc + α' implementations for some programming languages.

This software can realize the transmission of the typed data between various devices.
And this software can be used for a remote control of various devices, and moreover it's possible to apply to the field such as M2M and IoT.

What is '+ α'

linear-rpc is almost the same as msgpack-rpc, but there is just a little bit difference.

1. Transports

Our implementation can use TCP, SSL, WebSocket and WebSocket-Secure transports now.
(But there are some limitations on each programming language. Please refer to README.md etc. in each repository)

2. Message Format

Request Message

All of existing implementations can send 'Request' from only a client. And in the case of receiving 'Request' at a client, they throw an exception or just ignore it.
But linear-rpc can send 'Request' from a server and can handle 'Request' at a client.

Response Message

linear-rpc can send and receive 'Response' on both a server and a client.

Notification Message

linaer-rpc can send and receive 'Notification' on both a server and a client.

FAQ

There are few tests!

Sorry. We have some more test codes and do test with some real products, but they are so dirty and complicated.
We'll add more tests that work with Open CI platform gradually.

How about android (java)?

We have created linear-java internal.
But we are using JNI like an implementation of linear-objc and android platform supports many cpu arch.
Since we can't support all of them (Even if we receive some issues or pull requests, we can't confirm it.), we do not publish. And we don't have a plan to create Java native now.

Contributions

Please feel free to create issues or send pull requests

We'd appreciate any issues and pull requests.
We may not be able to replay quickly, but we surely will.

Thanks to

Great thanks to all of the developers who contribute several open source software!