palava_machine 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +6 -14
- data/ChangeLog.md +6 -0
- data/Gemfile +1 -2
- data/README.md +71 -0
- data/Rakefile +4 -13
- data/bin/palava-machine-daemon +2 -1
- data/lib/palava_machine/manager.rb +3 -3
- data/lib/palava_machine/server/core_support.rb +2 -2
- data/lib/palava_machine/version.rb +3 -1
- data/palava_machine.gemspec +11 -13
- metadata +75 -90
- data/ReadMe.md +0 -68
    
        checksums.yaml
    CHANGED
    
    | @@ -1,15 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
              metadata.gz: !binary |-
         | 
| 9 | 
            -
                OTcwZTY0YWZjYmIwZWViZjQ2NzljM2ZhM2Y1NTM0ZDVlYzRhZThjMTYxZTBm
         | 
| 10 | 
            -
                NDUyOGZjYjcyNDJlYzBkYTVlYTM4MTA1NWY5NDkyZTg4MGQ4NzQxOWU5NDli
         | 
| 11 | 
            -
                YTdkZGNlNGY5MTEwMGNmMWY5MjQ2MzU0Y2M4ZGY4M2FlYWFlYTg=
         | 
| 12 | 
            -
              data.tar.gz: !binary |-
         | 
| 13 | 
            -
                MzVmMzk1NzdjMDk2MjU5ZmJmNDc5YmY0OWQxNjcxYThkNWM4MDQ0NGFlMjk4
         | 
| 14 | 
            -
                OGI1ZmExM2NmNGY0OTUwM2IxOTdmOTFlNzUwNWUwNTNkYmY3MDQyNmM0NjAy
         | 
| 15 | 
            -
                MjUzYWI0ZmU2OWEwNDY1ZGU3OWI5ZmVjYThhYTAxYmU2MDUzM2M=
         | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: e101a30d7ba5b405fe74ca2650addd08a292e33f5c9f98a1171776ebbe9ad5eb
         | 
| 4 | 
            +
              data.tar.gz: eb780d084fce489cd4fb1726fd2c484512ca5a5de80ed8b276377d2aa23e04d4
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: 4f25f260258caaa6e0302b82442c523be890aebafe7b977ce05a571fdbfa3eeec298ae7dcc54f74283d508904fc522aaac6bbbdc5347e23361a3f8f15e1dbd7d
         | 
| 7 | 
            +
              data.tar.gz: 760ce85c0c7c0373a7b635694402b466d4d7d8e7e826a6ad88978bdbe6a66084cbcaa6870b8a181d02214cfb8a8e4a5bc55291b112e6561ee664bcd3f71f21f1
         | 
    
        data/ChangeLog.md
    CHANGED
    
    | @@ -1,3 +1,9 @@ | |
| 1 | 
            +
            ## 1.0.2
         | 
| 2 | 
            +
            - Fix EM trap context message for newer Rubies
         | 
| 3 | 
            +
            - Update Rakefile, CI etc to current situation
         | 
| 4 | 
            +
            - Update hiredis dependency
         | 
| 5 | 
            +
            - Allow 'message' event type in send\_to\_peer
         | 
| 6 | 
            +
             | 
| 1 7 | 
             
            ## 1.0.1
         | 
| 2 8 | 
             
            - Don't verify ws sup-protocol for now
         | 
| 3 9 | 
             
            - Only use integers for stat user counts
         | 
    
        data/Gemfile
    CHANGED
    
    
    
        data/README.md
    ADDED
    
    | @@ -0,0 +1,71 @@ | |
| 1 | 
            +
            # PalavaMachine [![[version]](https://badge.fury.io/rb/palava_machine.svg)](https://badge.fury.io/rb/palava_machine)  [![[travis]](https://travis-ci.org/janlelis/palava_machine.png)](https://travis-ci.org/janlelis/palava_machine)
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            [palava.tv](https://palava.tv) is simplistic video communication with your friends and colleagues from within your web browser. It is build on top of the [WebRTC](https://webrtc.org/) technology. No registration or browser plugin required.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            Please see the [palava repository](https://github.com/palavatv/palava) for an overview of palava and report issues there.
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            PalavaMachine is a WebRTC signaling server. Signaling describes the process of finding other peers and exchange information about how to establish a media connection. It works together with the [palava-client](https://github.com/palavatv/palava-client).
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            The server is implemented in [EventMachine](https://github.com/eventmachine/eventmachine/) and [Redis PubSub](https://redis.io/topics/pubsub) and communication to the clients is done via WebSockets.
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            **This application is currently not part of the palava.tv stack**
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            It was replaced by [SignalTower](https://github.com/farao/signaltower/), which is written in Elixir and uses the same protocol. Although this project is currently not actively worked on, it still functions as a drop-in replacement for the SignalTower and might also be developed further at some point.
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            ## Installation & Usage
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            Make sure you have redis(https://redis.io/download) installed, then install the [palava_machine gem](https://rubygems.org/gems/palava_machine):
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                $ gem install palava_machine
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            To start the server on port 4233, run:
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                $ palava-machine
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            ### Daemonized Version
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            The PalavaMachine can be started as a daemon process for production usage:
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                $ palava-machine-daemon start
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            Stop it with
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                $ palava-machine-daemon stop
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            ### Configure using Environment Variables
         | 
| 36 | 
            +
             | 
| 37 | 
            +
            You can set the address of the redis server via environment variable. The default is 'localhost:6379'.
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                $ export PALAVA_REDIS="some_ip:some_port"
         | 
| 40 | 
            +
                $ bin/palava-machine
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            ### Specs
         | 
| 43 | 
            +
             | 
| 44 | 
            +
            To run the test suite use
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                $ rspec
         | 
| 47 | 
            +
             | 
| 48 | 
            +
            ## Credits
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            AGPLv3. Part of the [palava project](https://palava.tv).
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                Copyright (C) 2014-2020 palava e. V.  contact@palava.tv
         | 
| 53 | 
            +
             | 
| 54 | 
            +
                Copyright (C) 2013 Jan Lelis          hi@ruby.consulting
         | 
| 55 | 
            +
                Copyright (C) 2013 Marius Melzer      marius@rasumi.net
         | 
| 56 | 
            +
                Copyright (C) 2013 Stephan Thamm      stephan@innovailable.eu
         | 
| 57 | 
            +
                Copyright (C) 2013 Kilian Ulbrich     kilian@innovailable.eu
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                This program is free software: you can redistribute it and/or modify
         | 
| 60 | 
            +
                it under the terms of the GNU Affero General Public License as
         | 
| 61 | 
            +
                published by the Free Software Foundation, either version 3 of the
         | 
| 62 | 
            +
                License, or (at your option) any later version.
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                This program is distributed in the hope that it will be useful,
         | 
| 65 | 
            +
                but WITHOUT ANY WARRANTY; without even the implied warranty of
         | 
| 66 | 
            +
                MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
         | 
| 67 | 
            +
                GNU Affero General Public License for more details.
         | 
| 68 | 
            +
             | 
| 69 | 
            +
                You should have received a copy of the GNU Affero General Public
         | 
| 70 | 
            +
                License along with this program. If not, see
         | 
| 71 | 
            +
                <http://www.gnu.org/licenses/>.
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -1,8 +1,9 @@ | |
| 1 1 | 
             
            require 'fileutils'
         | 
| 2 2 | 
             
            require 'bundler/setup'
         | 
| 3 3 | 
             
            require 'yaml'
         | 
| 4 | 
            +
            require 'redis'
         | 
| 4 5 | 
             
            require 'resque/tasks'
         | 
| 5 | 
            -
            require ' | 
| 6 | 
            +
            require 'resque/scheduler/tasks'
         | 
| 6 7 |  | 
| 7 8 | 
             
            ROOT_PATH = File.dirname(__FILE__) + '/../'
         | 
| 8 9 |  | 
| @@ -34,16 +35,6 @@ def run_scheduler | |
| 34 35 | 
             
              Process.detach(pid)
         | 
| 35 36 | 
             
            end
         | 
| 36 37 |  | 
| 37 | 
            -
             | 
| 38 | 
            -
            namespace :deploy do
         | 
| 39 | 
            -
              # desc 'whiskey_disk deploy hook'
         | 
| 40 | 
            -
              # task :post_deploy => %w[
         | 
| 41 | 
            -
              #   resque:restart_workers
         | 
| 42 | 
            -
              #   resque:restart_scheduler
         | 
| 43 | 
            -
              # ]
         | 
| 44 | 
            -
            end
         | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 38 | 
             
            namespace :resque do
         | 
| 48 39 | 
             
              task :environment do
         | 
| 49 40 | 
             
                require 'resque'
         | 
| @@ -140,7 +131,7 @@ end | |
| 140 131 |  | 
| 141 132 | 
             
            desc "Install the gem locally"
         | 
| 142 133 | 
             
            task :install => :gem do
         | 
| 143 | 
            -
              sh %{gem install pkg/#{gemspec.name}-#{gemspec.version}.gem --no- | 
| 134 | 
            +
              sh %{gem install pkg/#{gemspec.name}-#{gemspec.version}.gem --no-doc}
         | 
| 144 135 | 
             
            end
         | 
| 145 136 |  | 
| 146 137 | 
             
            desc "Generate the gemspec"
         | 
| @@ -158,6 +149,6 @@ task :spec do | |
| 158 149 | 
             
              sh %[rspec spec]
         | 
| 159 150 | 
             
            end
         | 
| 160 151 |  | 
| 161 | 
            -
            task :default => : | 
| 152 | 
            +
            task :default => :spec
         | 
| 162 153 | 
             
            task :test    => :spec
         | 
| 163 154 |  | 
    
        data/bin/palava-machine-daemon
    CHANGED
    
    
| @@ -69,7 +69,7 @@ module PalavaMachine | |
| 69 69 |  | 
| 70 70 |  | 
| 71 71 | 
             
                def initialize(options = {})
         | 
| 72 | 
            -
                  @redis_address = 'localhost:6379'
         | 
| 72 | 
            +
                  @redis_address = ENV['PALAVA_REDIS'] || 'localhost:6379'
         | 
| 73 73 | 
             
                  @redis_db      = options[:db] || 0
         | 
| 74 74 | 
             
                  @connections   = SocketStore.new
         | 
| 75 75 | 
             
                  @log           = Logger.new(STDOUT)
         | 
| @@ -167,7 +167,7 @@ module PalavaMachine | |
| 167 167 | 
             
                private :get_statuses_for_members
         | 
| 168 168 |  | 
| 169 169 | 
             
                def send_joined_room(connection_id, members_with_statuses)
         | 
| 170 | 
            -
                  @connections[connection_id].send_text({
         | 
| 170 | 
            +
                  @connections[connection_id] and @connections[connection_id].send_text({
         | 
| 171 171 | 
             
                    event: 'joined_room',
         | 
| 172 172 | 
             
                    own_id: connection_id,
         | 
| 173 173 | 
             
                    peers: members_with_statuses,
         | 
| @@ -234,7 +234,7 @@ module PalavaMachine | |
| 234 234 | 
             
                    @redis.sismember("store:room:members:#{room_id}", peer_id) do |is_member|
         | 
| 235 235 | 
             
                      return_error connection_id, 'unknown peer' if is_member.nil? || is_member.zero?
         | 
| 236 236 |  | 
| 237 | 
            -
                      unless %w[offer answer ice_candidate].include? data['event']
         | 
| 237 | 
            +
                      unless %w[offer answer ice_candidate message].include? data['event']
         | 
| 238 238 | 
             
                        return_error connection_id, 'event not allowed'
         | 
| 239 239 | 
             
                      end
         | 
| 240 240 |  | 
    
        data/palava_machine.gemspec
    CHANGED
    
    | @@ -4,38 +4,36 @@ name = 'palava_machine' | |
| 4 4 | 
             
            require File.dirname(__FILE__) + "/lib/#{name}/version"
         | 
| 5 5 |  | 
| 6 6 | 
             
            Gem::Specification.new do |s|
         | 
| 7 | 
            -
              s.required_ruby_version = ' | 
| 7 | 
            +
              s.required_ruby_version = '~> 2.1'
         | 
| 8 8 | 
             
              s.name        = name
         | 
| 9 9 | 
             
              s.version     = PalavaMachine::VERSION
         | 
| 10 10 | 
             
              s.authors     = ["Jan Lelis", "Marius Melzer", "Stephan Thamm", "Kilian Ulbrich"]
         | 
| 11 11 | 
             
              s.email       = "contact@palava.tv"
         | 
| 12 12 | 
             
              s.homepage    = 'https://github.com/palavatv/palava-machine'
         | 
| 13 13 | 
             
              s.license     = 'AGPL-3.0'
         | 
| 14 | 
            -
              s.summary     = " | 
| 15 | 
            -
              s.description = "A WebRTC  | 
| 14 | 
            +
              s.summary     = "Implementation of the palava protocol for WebRTC signaling"
         | 
| 15 | 
            +
              s.description = "A WebRTC signaling server implemented with WebSockets, EventMachine and Redis Pub-Sub"
         | 
| 16 16 | 
             
              s.files = Dir.glob(%w[{lib,test}/**/*.rb bin/* [A-Z]*.{txt,rdoc} ext/**/*.{rb,c} features/**/*]) + %w{Rakefile palava_machine.gemspec Gemfile}
         | 
| 17 | 
            -
              s.extra_rdoc_files = [" | 
| 17 | 
            +
              s.extra_rdoc_files = ["README.md", "ChangeLog.md", "ProtocolChangeLog.md", "LICENSE.txt"]
         | 
| 18 18 | 
             
              s.executables = ['palava-machine', 'palava-machine-daemon']
         | 
| 19 19 |  | 
| 20 | 
            -
              s.add_dependency ' | 
| 20 | 
            +
              s.add_dependency 'eventmachine', '~> 1.2.7'
         | 
| 21 | 
            +
              s.add_dependency 'em-websocket', '~> 0.5.1'
         | 
| 21 22 |  | 
| 22 | 
            -
              s.add_dependency 'hiredis', '~> 0. | 
| 23 | 
            -
              s.add_dependency 'em-hiredis', '~> 0. | 
| 23 | 
            +
              s.add_dependency 'hiredis', '~> 0.6.3'
         | 
| 24 | 
            +
              s.add_dependency 'em-hiredis', '~> 0.3.1'
         | 
| 24 25 |  | 
| 25 | 
            -
              s.add_dependency 'redis', ' | 
| 26 | 
            +
              s.add_dependency 'redis', '~> 4.1.3'
         | 
| 26 27 | 
             
              s.add_dependency 'resque'
         | 
| 27 28 | 
             
              s.add_dependency 'resque-scheduler'
         | 
| 28 29 | 
             
              s.add_dependency 'mongo'
         | 
| 29 30 | 
             
              s.add_dependency 'bson_ext'
         | 
| 30 31 |  | 
| 31 | 
            -
              s.add_dependency ' | 
| 32 | 
            -
              s.add_dependency 'daemons'
         | 
| 32 | 
            +
              s.add_dependency 'daemons', '~> 1.3.1'
         | 
| 33 33 | 
             
              s.add_dependency 'logger-colors'
         | 
| 34 34 | 
             
              s.add_dependency 'local_port'
         | 
| 35 | 
            -
              s.add_dependency 'rake'
         | 
| 36 | 
            -
              s.add_dependency 'whiskey_disk'
         | 
| 37 35 |  | 
| 36 | 
            +
              s.add_development_dependency 'rake'
         | 
| 38 37 | 
             
              s.add_development_dependency 'rspec'
         | 
| 39 | 
            -
              # s.add_development_dependency 'debugger'
         | 
| 40 38 | 
             
            end
         | 
| 41 39 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: palava_machine
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jan Lelis
         | 
| @@ -11,219 +11,205 @@ authors: | |
| 11 11 | 
             
            autorequire: 
         | 
| 12 12 | 
             
            bindir: bin
         | 
| 13 13 | 
             
            cert_chain: []
         | 
| 14 | 
            -
            date:  | 
| 14 | 
            +
            date: 2020-04-29 00:00:00.000000000 Z
         | 
| 15 15 | 
             
            dependencies:
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 17 | 
            -
              name:  | 
| 17 | 
            +
              name: eventmachine
         | 
| 18 18 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 19 19 | 
             
                requirements:
         | 
| 20 | 
            -
                - -  | 
| 20 | 
            +
                - - "~>"
         | 
| 21 21 | 
             
                  - !ruby/object:Gem::Version
         | 
| 22 | 
            -
                    version:  | 
| 22 | 
            +
                    version: 1.2.7
         | 
| 23 23 | 
             
              type: :runtime
         | 
| 24 24 | 
             
              prerelease: false
         | 
| 25 25 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 26 26 | 
             
                requirements:
         | 
| 27 | 
            -
                - -  | 
| 27 | 
            +
                - - "~>"
         | 
| 28 28 | 
             
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version:  | 
| 29 | 
            +
                    version: 1.2.7
         | 
| 30 30 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 31 | 
            -
              name:  | 
| 31 | 
            +
              name: em-websocket
         | 
| 32 32 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 33 33 | 
             
                requirements:
         | 
| 34 | 
            -
                - - ~>
         | 
| 34 | 
            +
                - - "~>"
         | 
| 35 35 | 
             
                  - !ruby/object:Gem::Version
         | 
| 36 | 
            -
                    version: 0. | 
| 36 | 
            +
                    version: 0.5.1
         | 
| 37 37 | 
             
              type: :runtime
         | 
| 38 38 | 
             
              prerelease: false
         | 
| 39 39 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 40 40 | 
             
                requirements:
         | 
| 41 | 
            -
                - - ~>
         | 
| 41 | 
            +
                - - "~>"
         | 
| 42 42 | 
             
                  - !ruby/object:Gem::Version
         | 
| 43 | 
            -
                    version: 0. | 
| 43 | 
            +
                    version: 0.5.1
         | 
| 44 44 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 45 | 
            -
              name:  | 
| 45 | 
            +
              name: hiredis
         | 
| 46 46 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 47 47 | 
             
                requirements:
         | 
| 48 | 
            -
                - - ~>
         | 
| 48 | 
            +
                - - "~>"
         | 
| 49 49 | 
             
                  - !ruby/object:Gem::Version
         | 
| 50 | 
            -
                    version: 0. | 
| 50 | 
            +
                    version: 0.6.3
         | 
| 51 51 | 
             
              type: :runtime
         | 
| 52 52 | 
             
              prerelease: false
         | 
| 53 53 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 54 54 | 
             
                requirements:
         | 
| 55 | 
            -
                - - ~>
         | 
| 55 | 
            +
                - - "~>"
         | 
| 56 56 | 
             
                  - !ruby/object:Gem::Version
         | 
| 57 | 
            -
                    version: 0. | 
| 57 | 
            +
                    version: 0.6.3
         | 
| 58 58 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 59 | 
            -
              name:  | 
| 59 | 
            +
              name: em-hiredis
         | 
| 60 60 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 61 61 | 
             
                requirements:
         | 
| 62 | 
            -
                - -  | 
| 62 | 
            +
                - - "~>"
         | 
| 63 63 | 
             
                  - !ruby/object:Gem::Version
         | 
| 64 | 
            -
                    version:  | 
| 64 | 
            +
                    version: 0.3.1
         | 
| 65 65 | 
             
              type: :runtime
         | 
| 66 66 | 
             
              prerelease: false
         | 
| 67 67 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 68 68 | 
             
                requirements:
         | 
| 69 | 
            -
                - -  | 
| 69 | 
            +
                - - "~>"
         | 
| 70 70 | 
             
                  - !ruby/object:Gem::Version
         | 
| 71 | 
            -
                    version:  | 
| 71 | 
            +
                    version: 0.3.1
         | 
| 72 72 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 73 | 
            -
              name:  | 
| 73 | 
            +
              name: redis
         | 
| 74 74 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 75 75 | 
             
                requirements:
         | 
| 76 | 
            -
                - -  | 
| 76 | 
            +
                - - "~>"
         | 
| 77 77 | 
             
                  - !ruby/object:Gem::Version
         | 
| 78 | 
            -
                    version:  | 
| 78 | 
            +
                    version: 4.1.3
         | 
| 79 79 | 
             
              type: :runtime
         | 
| 80 80 | 
             
              prerelease: false
         | 
| 81 81 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 82 82 | 
             
                requirements:
         | 
| 83 | 
            -
                - -  | 
| 83 | 
            +
                - - "~>"
         | 
| 84 84 | 
             
                  - !ruby/object:Gem::Version
         | 
| 85 | 
            -
                    version:  | 
| 85 | 
            +
                    version: 4.1.3
         | 
| 86 86 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 87 | 
            -
              name: resque | 
| 87 | 
            +
              name: resque
         | 
| 88 88 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 89 89 | 
             
                requirements:
         | 
| 90 | 
            -
                - -  | 
| 90 | 
            +
                - - ">="
         | 
| 91 91 | 
             
                  - !ruby/object:Gem::Version
         | 
| 92 92 | 
             
                    version: '0'
         | 
| 93 93 | 
             
              type: :runtime
         | 
| 94 94 | 
             
              prerelease: false
         | 
| 95 95 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 96 96 | 
             
                requirements:
         | 
| 97 | 
            -
                - -  | 
| 97 | 
            +
                - - ">="
         | 
| 98 98 | 
             
                  - !ruby/object:Gem::Version
         | 
| 99 99 | 
             
                    version: '0'
         | 
| 100 100 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 101 | 
            -
              name:  | 
| 101 | 
            +
              name: resque-scheduler
         | 
| 102 102 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 103 103 | 
             
                requirements:
         | 
| 104 | 
            -
                - -  | 
| 104 | 
            +
                - - ">="
         | 
| 105 105 | 
             
                  - !ruby/object:Gem::Version
         | 
| 106 106 | 
             
                    version: '0'
         | 
| 107 107 | 
             
              type: :runtime
         | 
| 108 108 | 
             
              prerelease: false
         | 
| 109 109 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 110 110 | 
             
                requirements:
         | 
| 111 | 
            -
                - -  | 
| 111 | 
            +
                - - ">="
         | 
| 112 112 | 
             
                  - !ruby/object:Gem::Version
         | 
| 113 113 | 
             
                    version: '0'
         | 
| 114 114 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 115 | 
            -
              name:  | 
| 115 | 
            +
              name: mongo
         | 
| 116 116 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 117 117 | 
             
                requirements:
         | 
| 118 | 
            -
                - -  | 
| 118 | 
            +
                - - ">="
         | 
| 119 119 | 
             
                  - !ruby/object:Gem::Version
         | 
| 120 120 | 
             
                    version: '0'
         | 
| 121 121 | 
             
              type: :runtime
         | 
| 122 122 | 
             
              prerelease: false
         | 
| 123 123 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 124 124 | 
             
                requirements:
         | 
| 125 | 
            -
                - -  | 
| 125 | 
            +
                - - ">="
         | 
| 126 126 | 
             
                  - !ruby/object:Gem::Version
         | 
| 127 127 | 
             
                    version: '0'
         | 
| 128 128 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 129 | 
            -
              name:  | 
| 129 | 
            +
              name: bson_ext
         | 
| 130 130 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 131 131 | 
             
                requirements:
         | 
| 132 | 
            -
                - -  | 
| 132 | 
            +
                - - ">="
         | 
| 133 133 | 
             
                  - !ruby/object:Gem::Version
         | 
| 134 134 | 
             
                    version: '0'
         | 
| 135 135 | 
             
              type: :runtime
         | 
| 136 136 | 
             
              prerelease: false
         | 
| 137 137 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 138 138 | 
             
                requirements:
         | 
| 139 | 
            -
                - -  | 
| 139 | 
            +
                - - ">="
         | 
| 140 140 | 
             
                  - !ruby/object:Gem::Version
         | 
| 141 141 | 
             
                    version: '0'
         | 
| 142 142 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 143 143 | 
             
              name: daemons
         | 
| 144 144 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 145 145 | 
             
                requirements:
         | 
| 146 | 
            -
                - -  | 
| 146 | 
            +
                - - "~>"
         | 
| 147 147 | 
             
                  - !ruby/object:Gem::Version
         | 
| 148 | 
            -
                    version:  | 
| 148 | 
            +
                    version: 1.3.1
         | 
| 149 149 | 
             
              type: :runtime
         | 
| 150 150 | 
             
              prerelease: false
         | 
| 151 151 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 152 152 | 
             
                requirements:
         | 
| 153 | 
            -
                - -  | 
| 153 | 
            +
                - - "~>"
         | 
| 154 154 | 
             
                  - !ruby/object:Gem::Version
         | 
| 155 | 
            -
                    version:  | 
| 155 | 
            +
                    version: 1.3.1
         | 
| 156 156 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 157 157 | 
             
              name: logger-colors
         | 
| 158 158 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 159 159 | 
             
                requirements:
         | 
| 160 | 
            -
                - -  | 
| 160 | 
            +
                - - ">="
         | 
| 161 161 | 
             
                  - !ruby/object:Gem::Version
         | 
| 162 162 | 
             
                    version: '0'
         | 
| 163 163 | 
             
              type: :runtime
         | 
| 164 164 | 
             
              prerelease: false
         | 
| 165 165 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 166 166 | 
             
                requirements:
         | 
| 167 | 
            -
                - -  | 
| 167 | 
            +
                - - ">="
         | 
| 168 168 | 
             
                  - !ruby/object:Gem::Version
         | 
| 169 169 | 
             
                    version: '0'
         | 
| 170 170 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 171 171 | 
             
              name: local_port
         | 
| 172 172 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 173 173 | 
             
                requirements:
         | 
| 174 | 
            -
                - -  | 
| 174 | 
            +
                - - ">="
         | 
| 175 175 | 
             
                  - !ruby/object:Gem::Version
         | 
| 176 176 | 
             
                    version: '0'
         | 
| 177 177 | 
             
              type: :runtime
         | 
| 178 178 | 
             
              prerelease: false
         | 
| 179 179 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 180 180 | 
             
                requirements:
         | 
| 181 | 
            -
                - -  | 
| 181 | 
            +
                - - ">="
         | 
| 182 182 | 
             
                  - !ruby/object:Gem::Version
         | 
| 183 183 | 
             
                    version: '0'
         | 
| 184 184 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 185 185 | 
             
              name: rake
         | 
| 186 186 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 187 187 | 
             
                requirements:
         | 
| 188 | 
            -
                - -  | 
| 189 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 190 | 
            -
                    version: '0'
         | 
| 191 | 
            -
              type: :runtime
         | 
| 192 | 
            -
              prerelease: false
         | 
| 193 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 194 | 
            -
                requirements:
         | 
| 195 | 
            -
                - - ! '>='
         | 
| 196 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 197 | 
            -
                    version: '0'
         | 
| 198 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 199 | 
            -
              name: whiskey_disk
         | 
| 200 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 201 | 
            -
                requirements:
         | 
| 202 | 
            -
                - - ! '>='
         | 
| 188 | 
            +
                - - ">="
         | 
| 203 189 | 
             
                  - !ruby/object:Gem::Version
         | 
| 204 190 | 
             
                    version: '0'
         | 
| 205 | 
            -
              type: : | 
| 191 | 
            +
              type: :development
         | 
| 206 192 | 
             
              prerelease: false
         | 
| 207 193 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 208 194 | 
             
                requirements:
         | 
| 209 | 
            -
                - -  | 
| 195 | 
            +
                - - ">="
         | 
| 210 196 | 
             
                  - !ruby/object:Gem::Version
         | 
| 211 197 | 
             
                    version: '0'
         | 
| 212 198 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 213 199 | 
             
              name: rspec
         | 
| 214 200 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 215 201 | 
             
                requirements:
         | 
| 216 | 
            -
                - -  | 
| 202 | 
            +
                - - ">="
         | 
| 217 203 | 
             
                  - !ruby/object:Gem::Version
         | 
| 218 204 | 
             
                    version: '0'
         | 
| 219 205 | 
             
              type: :development
         | 
| 220 206 | 
             
              prerelease: false
         | 
| 221 207 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 222 208 | 
             
                requirements:
         | 
| 223 | 
            -
                - -  | 
| 209 | 
            +
                - - ">="
         | 
| 224 210 | 
             
                  - !ruby/object:Gem::Version
         | 
| 225 211 | 
             
                    version: '0'
         | 
| 226 | 
            -
            description: A WebRTC  | 
| 212 | 
            +
            description: A WebRTC signaling server implemented with WebSockets, EventMachine and
         | 
| 227 213 | 
             
              Redis Pub-Sub
         | 
| 228 214 | 
             
            email: contact@palava.tv
         | 
| 229 215 | 
             
            executables:
         | 
| @@ -231,33 +217,33 @@ executables: | |
| 231 217 | 
             
            - palava-machine-daemon
         | 
| 232 218 | 
             
            extensions: []
         | 
| 233 219 | 
             
            extra_rdoc_files:
         | 
| 234 | 
            -
            -  | 
| 220 | 
            +
            - README.md
         | 
| 235 221 | 
             
            - ChangeLog.md
         | 
| 236 222 | 
             
            - ProtocolChangeLog.md
         | 
| 237 223 | 
             
            - LICENSE.txt
         | 
| 238 224 | 
             
            files:
         | 
| 225 | 
            +
            - ChangeLog.md
         | 
| 226 | 
            +
            - Gemfile
         | 
| 227 | 
            +
            - LICENSE.txt
         | 
| 228 | 
            +
            - ProtocolChangeLog.md
         | 
| 229 | 
            +
            - README.md
         | 
| 230 | 
            +
            - Rakefile
         | 
| 231 | 
            +
            - bin/palava-machine
         | 
| 232 | 
            +
            - bin/palava-machine-daemon
         | 
| 239 233 | 
             
            - lib/palava_machine.rb
         | 
| 234 | 
            +
            - lib/palava_machine/client_message.rb
         | 
| 235 | 
            +
            - lib/palava_machine/jobs.rb
         | 
| 236 | 
            +
            - lib/palava_machine/jobs/export_stats_job.rb
         | 
| 240 237 | 
             
            - lib/palava_machine/manager.rb
         | 
| 241 | 
            -
            - lib/palava_machine/version.rb
         | 
| 242 | 
            -
            - lib/palava_machine/server/verify_handshake.rb
         | 
| 243 | 
            -
            - lib/palava_machine/server/server_info.rb
         | 
| 244 | 
            -
            - lib/palava_machine/server/core_events.rb
         | 
| 245 | 
            -
            - lib/palava_machine/server/core_support.rb
         | 
| 246 238 | 
             
            - lib/palava_machine/runner.rb
         | 
| 247 | 
            -
            - lib/palava_machine/jobs.rb
         | 
| 248 | 
            -
            - lib/palava_machine/client_message.rb
         | 
| 249 239 | 
             
            - lib/palava_machine/server.rb
         | 
| 250 | 
            -
            - lib/palava_machine/ | 
| 240 | 
            +
            - lib/palava_machine/server/core_events.rb
         | 
| 241 | 
            +
            - lib/palava_machine/server/core_support.rb
         | 
| 242 | 
            +
            - lib/palava_machine/server/server_info.rb
         | 
| 243 | 
            +
            - lib/palava_machine/server/verify_handshake.rb
         | 
| 251 244 | 
             
            - lib/palava_machine/socket_store.rb
         | 
| 252 | 
            -
            -  | 
| 253 | 
            -
            - bin/palava-machine
         | 
| 254 | 
            -
            - LICENSE.txt
         | 
| 255 | 
            -
            - Rakefile
         | 
| 245 | 
            +
            - lib/palava_machine/version.rb
         | 
| 256 246 | 
             
            - palava_machine.gemspec
         | 
| 257 | 
            -
            - Gemfile
         | 
| 258 | 
            -
            - ReadMe.md
         | 
| 259 | 
            -
            - ChangeLog.md
         | 
| 260 | 
            -
            - ProtocolChangeLog.md
         | 
| 261 247 | 
             
            homepage: https://github.com/palavatv/palava-machine
         | 
| 262 248 | 
             
            licenses:
         | 
| 263 249 | 
             
            - AGPL-3.0
         | 
| @@ -268,18 +254,17 @@ require_paths: | |
| 268 254 | 
             
            - lib
         | 
| 269 255 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 270 256 | 
             
              requirements:
         | 
| 271 | 
            -
              - -  | 
| 257 | 
            +
              - - "~>"
         | 
| 272 258 | 
             
                - !ruby/object:Gem::Version
         | 
| 273 | 
            -
                  version: 1 | 
| 259 | 
            +
                  version: '2.1'
         | 
| 274 260 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 275 261 | 
             
              requirements:
         | 
| 276 | 
            -
              - -  | 
| 262 | 
            +
              - - ">="
         | 
| 277 263 | 
             
                - !ruby/object:Gem::Version
         | 
| 278 264 | 
             
                  version: '0'
         | 
| 279 265 | 
             
            requirements: []
         | 
| 280 | 
            -
             | 
| 281 | 
            -
            rubygems_version: 2.0.8
         | 
| 266 | 
            +
            rubygems_version: 3.1.2
         | 
| 282 267 | 
             
            signing_key: 
         | 
| 283 268 | 
             
            specification_version: 4
         | 
| 284 | 
            -
            summary:  | 
| 269 | 
            +
            summary: Implementation of the palava protocol for WebRTC signaling
         | 
| 285 270 | 
             
            test_files: []
         | 
    
        data/ReadMe.md
    DELETED
    
    | @@ -1,68 +0,0 @@ | |
| 1 | 
            -
            # PalavaMachine
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            ## Description
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            PalavaMachine is a WebRTC signaling server. Signaling describes the process of finding other peers and exchange information about how to establish a media connection. It works together with the [palava-client](https://github.com/palavatv/palava-client].
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            The server is implemented in [EventMachine](http://rubyeventmachine.com/) and [Redis PubSub](http://redis.io/topics/pubsub) and communication to the clients is done via WebSockets. See it in action at [palava.tv.](https://palava.tv)
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            ## What can I do with it?
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            *This is a pre-release for interested Ruby/JS/WebRTC developers*. If you are unsure, what to use this gem for, you'll just need to wait. We'll soon put a more detailed instructions on our [blog](https://blog.palava.tv).
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            ## Installation & Usage
         | 
| 14 | 
            -
             | 
| 15 | 
            -
            Make sure you have redis(http://redis.io/download) installed, then clone this repository and run
         | 
| 16 | 
            -
             | 
| 17 | 
            -
              $ bundle install
         | 
| 18 | 
            -
             | 
| 19 | 
            -
            Start the server with
         | 
| 20 | 
            -
             | 
| 21 | 
            -
              $ bin/palava-machine
         | 
| 22 | 
            -
             | 
| 23 | 
            -
            Alternatively, download the [palava_machine gem](http://rubygems.org/gems/palava_machine) from rubygems.org:
         | 
| 24 | 
            -
             | 
| 25 | 
            -
              $ gem install palava_machine
         | 
| 26 | 
            -
             | 
| 27 | 
            -
            And run:
         | 
| 28 | 
            -
             | 
| 29 | 
            -
              $ palava-machine
         | 
| 30 | 
            -
             | 
| 31 | 
            -
            ### Deamonized Version
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            The PalavaMachine can be started as a daemon process for production usage:
         | 
| 34 | 
            -
             | 
| 35 | 
            -
              $ palava-machine-daemon start
         | 
| 36 | 
            -
             | 
| 37 | 
            -
            Stop it with
         | 
| 38 | 
            -
             | 
| 39 | 
            -
              $ palava-machine-daemon stop
         | 
| 40 | 
            -
             | 
| 41 | 
            -
            ### Specs
         | 
| 42 | 
            -
             | 
| 43 | 
            -
            To run the test suite use
         | 
| 44 | 
            -
             | 
| 45 | 
            -
              $ rspec
         | 
| 46 | 
            -
             | 
| 47 | 
            -
            ## Credits
         | 
| 48 | 
            -
             | 
| 49 | 
            -
            AGPLv3. Part of the [palava project](https://palava.tv).
         | 
| 50 | 
            -
             | 
| 51 | 
            -
            Copyright 2013 Jan Lelis       jan@signaling.io
         | 
| 52 | 
            -
            Copyright 2013 Marius Melzer   marius@signaling.io
         | 
| 53 | 
            -
            Copyright 2013 Stephan Thamm   thammi@chaossource.net
         | 
| 54 | 
            -
            Copyright 2013 Kilian Ulbrich  kilian@innovailable.eu
         | 
| 55 | 
            -
             | 
| 56 | 
            -
            This program is free software: you can redistribute it and/or modify
         | 
| 57 | 
            -
            it under the terms of the GNU Affero General Public License as
         | 
| 58 | 
            -
            published by the Free Software Foundation, either version 3 of the
         | 
| 59 | 
            -
            License, or (at your option) any later version.
         | 
| 60 | 
            -
             | 
| 61 | 
            -
            This program is distributed in the hope that it will be useful,
         | 
| 62 | 
            -
            but WITHOUT ANY WARRANTY; without even the implied warranty of
         | 
| 63 | 
            -
            MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
         | 
| 64 | 
            -
            GNU Affero General Public License for more details.
         | 
| 65 | 
            -
             | 
| 66 | 
            -
            You should have received a copy of the GNU Affero General Public
         | 
| 67 | 
            -
            License along with this program. If not, see
         | 
| 68 | 
            -
            <http://www.gnu.org/licenses/>.
         |