class Serf::Client::Client
Public Class Methods
new(opts, &block)
click to toggle source
# File lib/serf/client.rb, line 22 def initialize opts, &block @address = opts[:address] || 'localhost' @port = opts[:port] || 7373 @connection = Connection.supervise(@address, @port).actors.first @connection.handshake end
Public Instance Methods
auth(key, &block)
click to toggle source
# File lib/serf/client.rb, line 42 def auth key, &block @connection.call(:auth, {'AuthKey' => key }, &block) end
event(name, payload='', coalesce=true, &block)
click to toggle source
# File lib/serf/client.rb, line 46 def event name, payload='', coalesce=true, &block @connection.call(:event, {'Name' => name, 'Payload' => payload, 'Coalesce' => coalesce}, &block) end
force_leave(name, &block)
click to toggle source
# File lib/serf/client.rb, line 70 def force_leave name, &block @connection.call(:'force-leave', {'Node' => name}, &block) end
join()
click to toggle source
# File lib/serf/client.rb, line 78 def join; end
leave(&block)
click to toggle source
# File lib/serf/client.rb, line 74 def leave &block @connection.call(:leave, &block) end
members(&block)
click to toggle source
# File lib/serf/client.rb, line 66 def members &block @connection.call(:members, &block) end
monitor(level='DEBUG', &block)
click to toggle source
# File lib/serf/client.rb, line 62 def monitor level='DEBUG', &block @connection.call(:monitor, {'LogLevel' => level}, &block) end
query(opts, &block)
click to toggle source
# File lib/serf/client.rb, line 30 def query opts, &block o = {} o['Name'] = opts[:name] if opts[:name] o['Payload'] = opts[:payload] if opts[:payload] o['Timeout'] = opts[:timeout] if opts[:timeout] o['FilterNodes'] = opts[:filter_nodes] if opts[:filter_nodes] o['FilterTags'] = opts[:filter_tags] if opts[:filter_tags] o['RequestAck'] = opts[:request_ack] if opts[:request_ack] @connection.call(:query, o, &block) end
respond(id, payload, &block)
click to toggle source
# File lib/serf/client.rb, line 54 def respond id, payload, &block @connection.call(:respond, {'ID' => id, "Payload" => payload}, &block) end
stop(seqid, &block)
click to toggle source
# File lib/serf/client.rb, line 58 def stop seqid, &block @connection.call(:stop, &block) end
stream(type, &block)
click to toggle source
# File lib/serf/client.rb, line 50 def stream type, &block @connection.call(:stream, {'Type' => type}, &block) end