class Gorthaur::Server

Public Class Methods

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

Public Instance Methods

call() click to toggle source
# File lib/gorthaur/server.rb, line 17
def call
  @session.run_with(recorders) do |connection|
    while @request.pop
      @response.push connection.capture
    end
  end
end
capture() click to toggle source
# File lib/gorthaur/server.rb, line 10
def capture
  @mutex.synchronize do
    @request << "x"
    @response.pop
  end
end

Private Instance Methods

recorders() click to toggle source
# File lib/gorthaur/server.rb, line 27
def recorders
  AVCapture.devices.find(&:video?)
end