Class: GraphiteApiMiddleware::Server
- Inherits:
-
EventMachine::Connection
- Object
- EventMachine::Connection
- GraphiteApiMiddleware::Server
- Defined in:
- lib/graphite-api-middleware.rb
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Returns the value of attribute client.
-
#client_id ⇒ Object
readonly
Returns the value of attribute client_id.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(client, logger) ⇒ Server
constructor
A new instance of Server.
- #post_init ⇒ Object
- #receive_data(data) ⇒ Object
- #unbind ⇒ Object
Constructor Details
#initialize(client, logger) ⇒ Server
Returns a new instance of Server.
28 29 30 31 |
# File 'lib/graphite-api-middleware.rb', line 28 def initialize client, logger @client = client @logger = logger end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns the value of attribute client.
33 34 35 |
# File 'lib/graphite-api-middleware.rb', line 33 def client @client end |
#client_id ⇒ Object (readonly)
Returns the value of attribute client_id.
33 34 35 |
# File 'lib/graphite-api-middleware.rb', line 33 def client_id @client_id end |
Class Method Details
.default_options ⇒ Object
57 58 59 |
# File 'lib/graphite-api-middleware.rb', line 57 def self. GraphiteAPI::Client..merge interval: 60, pid: '/var/run/graphite-api-middleware.pid' end |
.start(options, logger) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/graphite-api-middleware.rb', line 61 def self.start , logger EventMachine.run do GraphiteAPI::Logger.logger = logger logger.info "Server running on port #{options[:port]}" client = GraphiteAPI::Client.new # Starting server [:start_server, :open_datagram_socket].each do |method_name| EventMachine.send(method_name, '0.0.0.0', [:port], self, client, logger) end end end |
.stop ⇒ Object
75 76 77 |
# File 'lib/graphite-api-middleware.rb', line 75 def self.stop EventMachine.stop end |
Instance Method Details
#post_init ⇒ Object
35 36 37 38 |
# File 'lib/graphite-api-middleware.rb', line 35 def post_init @client_id = peername @logger.debug [:middleware, :connecting, client_id] end |
#receive_data(data) ⇒ Object
40 41 42 43 |
# File 'lib/graphite-api-middleware.rb', line 40 def receive_data data @logger.debug [:middleware, :message, client_id, data] client.stream data, client_id end |
#unbind ⇒ Object
45 46 47 48 |
# File 'lib/graphite-api-middleware.rb', line 45 def unbind @logger.debug [:middleware, :disconnecting, client_id] client.cancel end |