[
https://issues.apache.org/jira/browse/AVRO-1778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15135941#comment-15135941
]
ASF subversion and git services commented on AVRO-1778:
-------------------------------------------------------
Commit 9101a42badd32f0540caa28e27ca053a36e936e3 in avro's branch
refs/heads/master from [~mtth]
[ https://git-wip-us.apache.org/repos/asf?p=avro.git;h=9101a42 ]
AVRO-1778. JavaScript: Add IPC/RPC support.
This commit adds protocols to the JavaScript implementation.
The API was designed to:
+ Be simple and idiomatic. The `Protocol` class added here is heavily
inspired by node.js' core `EventEmitter` to keep things as familiar as
possible. Getting a client and server working is straightforward
and requires very few lines of code.
+ Support arbitrary transports, both stateful and stateless. Built-in
node.js streams are supported out of the box (e.g. TCP/UNIX sockets,
or even stdin/stdout). Exchanging messages over a custom transport
requires implementing a single simple function.
+ Work both server-side and in the browser!
> IPC/RPC for JavaScript
> ----------------------
>
> Key: AVRO-1778
> URL: https://issues.apache.org/jira/browse/AVRO-1778
> Project: Avro
> Issue Type: Improvement
> Components: javascript
> Reporter: Matthieu Monsch
> Assignee: Ryan Blue
> Attachments: AVRO-1778.patch
>
>
> This patch adds protocols to the JavaScript implementation.
> The API was designed to:
> + Be simple and idiomatic. The `Protocol` class added here is heavily
> inspired by node.js' core `EventEmitter` to keep things as familiar as
> possible [1]. Getting a client and server working is straightforward and
> requires very few lines of code [2].
> + Support arbitrary transports, both stateful and stateless. Built-in node.js
> streams are supported out of the box (e.g. TCP/UNIX sockets, or even
> stdin/stdout). Exchanging messages over a custom transport requires
> implementing a single simple function (see [3] for an example).
> + Work both server-side and in the browser!
> Ps: I also tested against both the Java and Python implementations over HTTP
> and communication worked.
> [1] https://github.com/mtth/avsc/wiki/API#ipc--rpc
> [2] https://github.com/mtth/avsc/wiki/Advanced-usage#remote-procedure-calls
> [3] https://github.com/mtth/avsc/wiki/Advanced-usage#transient-streams
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)