Linear RPC

Overview

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

Although we know that there are some implementations, but we need WebSocket, SSL transport etc.. And we also need 'Request from a server', 'Notify from a server' functions etc..
So we implement them.

What is '+ α'

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

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)

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

So few tests exist!

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

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 softwares!