class Bernstein::Server

Public Class Methods

configure!(options = {}) click to toggle source
# File lib/bernstein/server.rb, line 7
def self.configure!(options = {})
  @options.merge!(options || {})
end
start() { || ... } click to toggle source
# File lib/bernstein/server.rb, line 11
def self.start
  OSC.run do
    @server = OSC::Server.new(@options[:port],@options[:host])
    if @options[:require_awks] 
      @server.add_pattern @options[:awk_address] do |*args|
        handle_awknowledgement(args[1])
      end
    end

    @timer = EventMachine::PeriodicTimer.new(@options[:poll_interval]) do 
      process_queued_messages
    end
    yield if block_given?
  end
end
stop() click to toggle source
# File lib/bernstein/server.rb, line 27
def self.stop
  @server.stop unless @server.nil?
  @timer.cancel unless @timer.nil?
end

Private Class Methods

handle_awknowledgement(id) click to toggle source
# File lib/bernstein/server.rb, line 37
def self.handle_awknowledgement(id)
  Message.set_as_sent!(id)
end
process_queued_messages() click to toggle source
# File lib/bernstein/server.rb, line 33
def self.process_queued_messages
  Message.get_queued_messages.each{|m| m.send!(@options[:require_awks])}
end