Sha256: a07e0d7fd7edb48a2c59a037ec26a3002f829e17c82657459e0c56c31a47e1b5
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
require 'miu' module Miu class Server attr_reader :options attr_reader :publisher, :subscriber def initialize(options = {}) @options = options if options[:verbose] && Miu.logger Miu.logger.level = ::Logger::DEBUG end end def run pub_address = "#{@options[:pub_host]}:#{@options[:pub_port]}" sub_address = "#{@options[:sub_host]}:#{@options[:sub_port]}" @publisher = Publisher.new({:host => @options[:pub_host], :port => @options[:pub_port]}) @subscriber = Subscriber.new({:host => @options[:sub_host], :port => @options[:sub_port]}) @publisher.bind @subscriber.bind Logger.info "Starting miu" Logger.info "pub: #{@publisher.host}:#{@publisher.port}" Logger.info "sub: #{@subscriber.host}:#{@subscriber.port}" [:INT, :TERM].each do |sig| trap(sig) do Logger.info "Quit" close exit end end loop do parts = @subscriber.forward @publisher if @options[:verbose] packet = Packet.load parts Logger.debug packet.inspect end end end def close @subscriber.close @publisher.close end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
miu-0.1.0 | lib/miu/server.rb |