mqtt-sn-ruby 0.1.7 → 0.1.8
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 +4 -4
- data/lib/mqtt-sn-http.rb +8 -3
- data/lib/mqtt-sn-ruby.rb +16 -2
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b2cf90277e54e38c81138fd1e4f540e9e074e34b
         | 
| 4 | 
            +
              data.tar.gz: efffe5bdaaf339a20b16e8cacbf967b6cfafb915
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1070a821c0eb64abba5873774a566b90050fd8a9c15381442dca19d14d7d6d6e09c1b91776aaa45a7160f24b1e74296e57afbf5974c2ca34ac9085ad3bf8c1ea
         | 
| 7 | 
            +
              data.tar.gz: 55ecc32a4aca8acd05658c466a3303687ca5f19e91d579494f8346a0df90c06dd4bff397e376dfe643234db658317e35be684ed2f1462366f1224c8500a29439
         | 
    
        data/lib/mqtt-sn-http.rb
    CHANGED
    
    | @@ -5,10 +5,15 @@ require "haml" | |
| 5 5 | 
             
            require "coffee-script"
         | 
| 6 6 |  | 
| 7 7 | 
             
            def http_server options
         | 
| 8 | 
            +
              
         | 
| 8 9 | 
             
              prev_t={}
         | 
| 9 | 
            -
               | 
| 10 | 
            -
               | 
| 11 | 
            -
             | 
| 10 | 
            +
              ports=['127.0.0.1']
         | 
| 11 | 
            +
              if Socket.method_defined? :getifaddrs
         | 
| 12 | 
            +
                ports=Socket.getifaddrs.map { |i| i.addr.ip_address if i.addr.ipv4? }.compact
         | 
| 13 | 
            +
                puts "Starting HTTP services at port #{options[:http_port]}, server IPs: #{ports}"
         | 
| 14 | 
            +
              else
         | 
| 15 | 
            +
                puts "Starting HTTP services at port #{options[:http_port]}."
         | 
| 16 | 
            +
              end
         | 
| 12 17 | 
             
              if File.directory? './http'
         | 
| 13 18 | 
             
                $http_dir="http/"
         | 
| 14 19 | 
             
              else
         | 
    
        data/lib/mqtt-sn-ruby.rb
    CHANGED
    
    | @@ -136,7 +136,12 @@ class MqttSN | |
| 136 136 | 
             
                ip =  IPAddr.new(uri.host).hton + IPAddr.new("0.0.0.0").hton
         | 
| 137 137 | 
             
                s = UDPSocket.new
         | 
| 138 138 | 
             
                s.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_MEMBERSHIP, ip)
         | 
| 139 | 
            -
                 | 
| 139 | 
            +
                begin
         | 
| 140 | 
            +
                  s.setsockopt(:SOL_SOCKET, :SO_REUSEPORT, 1)
         | 
| 141 | 
            +
                rescue #on raspian this is needed...
         | 
| 142 | 
            +
                  puts "WARNING: :SO_REUSEPORT not defined -- guessing it is 15 ;)"
         | 
| 143 | 
            +
                  s.setsockopt(:SOL_SOCKET, 15, 1)
         | 
| 144 | 
            +
                end
         | 
| 140 145 | 
             
                s.bind(Socket::INADDR_ANY, uri.port)
         | 
| 141 146 | 
             
                s
         | 
| 142 147 | 
             
              end
         | 
| @@ -259,6 +264,7 @@ class MqttSN | |
| 259 264 | 
             
                      @clients[key]={ip:client_ip, port:client_port, socket: UDPSocket.new, uri: uri, state: :active, counter_send:0, last_send:0 , counter_recv:0, last_recv:0}
         | 
| 260 265 | 
             
                      c=@clients[key]
         | 
| 261 266 | 
             
                      puts "thread start for #{key}"
         | 
| 267 | 
            +
             | 
| 262 268 | 
             
                      @clients[key][:thread]=Thread.new(key) do |my_key|
         | 
| 263 269 | 
             
                        while true
         | 
| 264 270 | 
             
                          pacc=MqttSN::poll_packet_block(@clients[my_key][:socket]) #if we get data from server destined to our client
         | 
| @@ -774,7 +780,15 @@ class MqttSN | |
| 774 780 |  | 
| 775 781 | 
             
              def self.parse_message r
         | 
| 776 782 | 
             
                m=nil
         | 
| 783 | 
            +
                if not r[0]
         | 
| 784 | 
            +
                  puts "Malformed empty packet #{r}"
         | 
| 785 | 
            +
                  return {}
         | 
| 786 | 
            +
                end
         | 
| 777 787 | 
             
                len=r[0].ord
         | 
| 788 | 
            +
                if len!= r.size
         | 
| 789 | 
            +
                  puts "Malformed packet #{r}"
         | 
| 790 | 
            +
                  return {}
         | 
| 791 | 
            +
                end
         | 
| 778 792 | 
             
                case r[len-1].ord
         | 
| 779 793 | 
             
                when 0x00
         | 
| 780 794 | 
             
                  status=:ok
         | 
| @@ -941,7 +955,7 @@ class MqttSN | |
| 941 955 | 
             
                      end
         | 
| 942 956 | 
             
                      sleep @keepalive
         | 
| 943 957 | 
             
                      if @active_gw_id and @gateways[@active_gw_id] and @gateways[@active_gw_id][:socket] #if we are connected...
         | 
| 944 | 
            -
                        send :ping, timeout:  | 
| 958 | 
            +
                        send :ping, timeout: 5,expect: :pong do |status,message|
         | 
| 945 959 | 
             
                          if status!=:ok
         | 
| 946 960 | 
             
                            note "Error:#{@id} no pong! -- sending disconnect to app"
         | 
| 947 961 | 
             
                            @state=:disconnected
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: mqtt-sn-ruby
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.8
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Ari Siitonen
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-11- | 
| 11 | 
            +
            date: 2014-11-29 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies: []
         | 
| 13 13 | 
             
            description: Ruby toolkit for MQTT-SN, compatible with RSMB, command line tools and
         | 
| 14 14 | 
             
              API
         |