Sha256: 81ab8ad9f6303419201864f0995b0bc633ce7f69f33135f56a8e0521ede5b46e

Contents?: true

Size: 563 Bytes

Versions: 1

Compression:

Stored size: 563 Bytes

Contents

require 'socket'
require_relative 'tattler'

module Buschtelefon
  class NetTattler < Tattler
    def initialize(port: 9999, &interceptor)
      super()
      @port = port
    end

    def listen(&_block)
      puts "Started UDP server on #{@port}..."

      Socket.udp_server_loop(@port) do |message, message_source|
        yield(message)
        handle_incoming_message(message)
        puts "Got \"#{message}\" from #{message_source}"
      end
    end

    private

    def handle_incoming_message(message)
      feed(Gossip.new(message))
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
buschtelefon-0.1.0 lib/buschtelefon/net_tattler.rb