Skip to content

zeromem88/ruby-zeromem-ws

Repository files navigation

Zeromem::Ws

This is implementation for movitto/rjr websocket Node for JSON-RPC to eliminate
performance degradation under heavy load (1000s queries per minute).

Current implementation has memory leak which cause CPU overhead accumulation.

Installation

gem 'zeromem-ws'

And then execute:

$ bundle

Or install it yourself as:

$ gem install zeromem-ws

Usage

require 'zeromem/ws'

server = Zeromem::Ws::WsHeavy.new :host => 'localhost', :port => 9789, :node_id => "server"
server.dispatcher.handle('method') { |i|
  puts "server: #{i}"
  "#{i}".upcase
}
server.listen

client = Zeromem::Ws::WsHeavy.new :node_id => "client", :timeout => 8000

0.upto(50000) { |i| 
  puts "#{i}" 
  puts client.invoke "ws://localhost:9789", "method", "Hello World" 
}

Bug reports and pull requests are welcome on GitHub at https://github.com/zeromem88/ruby-zeromem-ws.

License

The gem is available as open source under the terms of the MIT License.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •