Sha256: 73a92bece8f8bc439f092999505ab12e4af1aad8ba0b50da5e21af2b50d5809b
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
require 'miu' require 'miu/publisher' require 'miu/subscriber' module Miu class Server attr_reader :options attr_reader :context, :publisher, :subscriber def initialize(options = {}) @options = options end def run pub_address = "#{@options[:pub_host]}:#{@options[:pub_port]}" sub_address = "#{@options[:sub_host]}:#{@options[:sub_port]}" @context = ZMQ::Context.new @publisher = Publisher.new({ :context => @context, :host => @options[:pub_host], :port => @options[:pub_port] }) @subscriber = Subscriber.new({ :context => @context, :host => @options[:sub_host], :port => @options[:sub_port] }) @publisher.bind @subscriber.bind puts "Starting miu" puts "pub: #{@publisher.host}:#{@publisher.port}" puts "sub: #{@subscriber.host}:#{@subscriber.port}" trap(:INT) do puts "Quit" close exit end loop do @subscriber.forward @publisher end end def close @subscriber.close @publisher.close @context.terminate end alias_method :shutdown, :close end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
miu-0.0.6 | lib/miu/server.rb |
miu-0.0.5 | lib/miu/server.rb |