Sha256: 9dca32d441ca4385c5b3a1597d64eb7445cdb2ae1b4d8c7ac4f1a7d73eb0b6ba
Contents?: true
Size: 918 Bytes
Versions: 3
Compression:
Stored size: 918 Bytes
Contents
require 'socket' module Journeta class PeerListener < Journeta::Asynchronous def go begin port = @engine.peer_port socket = TCPServer.new(port) putsd "Listening on port #{port}" begin loop do session = socket.accept Thread.new do data = '' # Read every last bit from the socket before passing off to the handler. while more = session.gets data += more end # pp data msg = YAML::load(data) h = @engine.peer_handler h.handle msg end end rescue putsd "Session closed." end ensure putsd "Closing event listener socket." # session.close # socket.close end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
journeta-0.0.3 | lib/journeta/peer_listener.rb |
journeta-0.0.4 | lib/journeta/peer_listener.rb |
journeta-0.0.5 | lib/journeta/peer_listener.rb |