class Camtasy::PhotoServer

Public Class Methods

new() click to toggle source
# File lib/camtasy/server.rb, line 3
def initialize
  @request = Queue.new
  @response = Queue.new
  @mutex = Mutex.new
end

Public Instance Methods

run(uri) click to toggle source
# File lib/camtasy/server.rb, line 16
def run(uri)
  Thread.new do
    AVCapture::Session.new.run_with(AVCapture.devices.find(&:video?)) do |connection|
      while @request.pop
        @response.push(connection.capture)
      end
    end
  end

  DRb.start_service(uri, self)
  DRb.thread.join
end
take_photo() click to toggle source
# File lib/camtasy/server.rb, line 9
def take_photo
  @mutex.synchronize do
    @request << "x"
    @response.pop
  end
end