# File lib/amqp/server.rb, line 5 def post_init @buf = '' @channels = {} @started = false end
# File lib/amqp/server.rb, line 45 def process_frame frame channel = frame.channel case method = frame.payload when Protocol::Connection::StartOk @user = method.response[:LOGIN] @pass = method.response[:PASSWORD] send Protocol::Connection::Tune.new(0, 131072, 0) when Protocol::Connection::TuneOk # mnnk when Protocol::Connection::Open @vhost = method.virtual_host send Protocol::Connection::OpenOk.new('localhost') when Protocol::Channel::Open @channels[channel] = [] send Protocol::Channel::OpenOk.new, :channel => channel when Protocol::Access::Request send Protocol::Access::RequestOk.new(101) end end
# File lib/amqp/server.rb, line 11 def receive_data data @buf << data unless @started if @buf.size >= 8 if @buf.slice!(0,8) == "AMQP\0001\0001\b\0000" send Protocol::Connection::Start.new( 8, 0, { :information => 'Licensed under the Ruby license. See http://github.com/tmm1/amqp', :copyright => 'Copyright (c) 2008-2009 Aman Gupta', :platform => 'Ruby/EventMachine', :version => '0.6.1', :product => 'SquirrelMQ' }, 'PLAIN AMQPLAIN', 'en_US' ) else close_connection return end @started = true else return end end while frame = Frame.parse(@buf) process_frame frame end end
Generated with the Darkfish Rdoc Generator 2.