emrpc | Modular ruby RPC library with blocking and evented API
kandi X-RAY | emrpc Summary
kandi X-RAY | emrpc Summary
emrpc is a Ruby library. emrpc has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
EMRPC is a EventMachine-based remote procedure call library. It looks like DRb, but is much more efficient and provides asynchronous erlang-like interface along with blocking synchronous interface. Author: Oleg Andreev oleganza@gmail.com. This is v0.3 alpha. It is being used in several projects of my own, but is not tested on many interesting cases. It has also several issues with performance and specs stability (see TODO file). You may try out examples using bin/emrpc IRB session. Just open the console and paste the code. HELLO WORLD (BLOCKING API). class HelloWorld def action "Hello!" end end. server = EMRPC::Server.new(:address => 'emrpc://localhost:4000/', :backend => HelloWorld.new) EM::safe_run(:background) { }. client = EMRPC::Client.new('emrpc://localhost:4000/') client.action == "Hello!" #=> true. HELLO WORLD (EVENTED API). class HelloWorld include Pid def action(sender) puts "HelloWorld replies to the sender #{sender}..." sender.reply(self, "Hello!") end end. class User include Pid def connected(pid) puts "Pid #{pid} connected with the user." pid.action(self) end def reply(pid, msg) puts "Pid #{pid} replied: #{msg}" end end. EM::run do hw = HelloWorld.new hw.bind('emrpc://localhost:4000/') # bind a pid to the address.
EMRPC is a EventMachine-based remote procedure call library. It looks like DRb, but is much more efficient and provides asynchronous erlang-like interface along with blocking synchronous interface. Author: Oleg Andreev oleganza@gmail.com. This is v0.3 alpha. It is being used in several projects of my own, but is not tested on many interesting cases. It has also several issues with performance and specs stability (see TODO file). You may try out examples using bin/emrpc IRB session. Just open the console and paste the code. HELLO WORLD (BLOCKING API). class HelloWorld def action "Hello!" end end. server = EMRPC::Server.new(:address => 'emrpc://localhost:4000/', :backend => HelloWorld.new) EM::safe_run(:background) { }. client = EMRPC::Client.new('emrpc://localhost:4000/') client.action == "Hello!" #=> true. HELLO WORLD (EVENTED API). class HelloWorld include Pid def action(sender) puts "HelloWorld replies to the sender #{sender}..." sender.reply(self, "Hello!") end end. class User include Pid def connected(pid) puts "Pid #{pid} connected with the user." pid.action(self) end def reply(pid, msg) puts "Pid #{pid} replied: #{msg}" end end. EM::run do hw = HelloWorld.new hw.bind('emrpc://localhost:4000/') # bind a pid to the address.
Support
Quality
Security
License
Reuse
Support
emrpc has a low active ecosystem.
It has 29 star(s) with 6 fork(s). There are 3 watchers for this library.
It had no major release in the last 6 months.
emrpc has no issues reported. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of emrpc is current.
Quality
emrpc has 0 bugs and 0 code smells.
Security
emrpc has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
emrpc code analysis shows 0 unresolved vulnerabilities.
There are 0 security hotspots that need review.
License
emrpc is licensed under the MIT License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
emrpc releases are not available. You will need to build from source code and install.
Installation instructions are not available. Examples and code snippets are available.
emrpc saves you 1054 person hours of effort in developing the same functionality from scratch.
It has 2390 lines of code, 239 functions and 61 files.
It has medium code complexity. Code complexity directly impacts maintainability of the code.
Top functions reviewed by kandi - BETA
kandi has reviewed emrpc and discovered the below as its top functions. This is intended to give you an instant insight into emrpc implemented functionality, and help decide if they suit your requirements.
- Parses the data received .
- Send a connection to the backend .
- Connect to remote server
- Receive a message from a connection .
- Stop the server
- Add a person to the list
- Start a server
- Convert the given word
- Runs a slow loop between seconds .
Get all kandi verified functions for this library.
emrpc Key Features
No Key Features are available at this moment for emrpc.
emrpc Examples and Code Snippets
No Code Snippets are available at this moment for emrpc.
Community Discussions
No Community Discussions are available at this moment for emrpc.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install emrpc
You can download it from GitHub.
On a UNIX-like operating system, using your system’s package manager is easiest. However, the packaged Ruby version may not be the newest one. There is also an installer for Windows. Managers help you to switch between multiple Ruby versions on your system. Installers can be used to install a specific or multiple Ruby versions. Please refer ruby-lang.org for more information.
On a UNIX-like operating system, using your system’s package manager is easiest. However, the packaged Ruby version may not be the newest one. There is also an installer for Windows. Managers help you to switch between multiple Ruby versions on your system. Installers can be used to install a specific or multiple Ruby versions. Please refer ruby-lang.org for more information.
Support
For any new features, suggestions and bugs create an issue on GitHub.
If you have any questions check and ask questions on community page Stack Overflow .
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page