Class: NSCA::Server::Connection

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/nsca/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(socket, server) ⇒ Connection

Returns a new instance of Connection.



47
48
49
50
51
52
53
# File 'lib/nsca/server.rb', line 47

def initialize socket, server
	@socket, @server = socket, server
	@iv_key, @password = server.iv_key, server.password
	@packet_version = server.packet_version
	@packet_length = @packet_version::PACK_LENGTH
	@socket.write [@iv_key, Time.now.to_i].pack( 'a* L>')
end

Instance Method Details

#closeObject



69
# File 'lib/nsca/server.rb', line 69

def close() @socket.close end

#each(&block) ⇒ Object



60
61
62
63
64
65
# File 'lib/nsca/server.rb', line 60

def each &block
	return Enumerator.new( self)  unless block_given?
	while data = fetch
		yield data
	end
end

#eof?Boolean

Returns:

  • (Boolean)


67
# File 'lib/nsca/server.rb', line 67

def eof?() @socket.eof? end

#fetchObject



55
56
57
58
# File 'lib/nsca/server.rb', line 55

def fetch
	data = read
	@packet_version.parse data, @iv_key, @password  if data
end

#readObject



68
# File 'lib/nsca/server.rb', line 68

def read() @socket.read @packet_length end