Skip to content

Instantly share code, notes, and snippets.

@mostlyobvious
Created March 1, 2011 15:53
Show Gist options
  • Save mostlyobvious/849325 to your computer and use it in GitHub Desktop.
Save mostlyobvious/849325 to your computer and use it in GitHub Desktop.
require 'eventmachine'
require 'logger'
class LoggedConnection < EM::Connection
attr_accessor :logger
def initialize(*args)
self.logger = args.pop[:logger]
super
end
def post_init
logger.info "post_init"
end
def receive_data(data)
logger.info "receive_data: #{data}"
EM.stop
end
end
module Client
def post_init
send_data "post_init"
end
end
EM.run do
logger = Logger.new(STDOUT)
EM.start_server 'localhost', 3333, LoggedConnection, :logger => logger # do |connection|
# XXX: server block is called after post_init
#
# connection.logger = logger
# end
EM.connect 'localhost', 3333, Client
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment