Class: Raft::Goliath::HttpJsonRpcProvider

Inherits:
RpcProvider
  • Object
show all
Defined in:
lib/raft/goliath.rb

Overview

TODO: implement HttpJsonRpcProvider!

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url_generator) ⇒ HttpJsonRpcProvider

Returns a new instance of HttpJsonRpcProvider.



74
75
76
# File 'lib/raft/goliath.rb', line 74

def initialize(url_generator)
  @url_generator = url_generator
end

Instance Attribute Details

#url_generatorObject (readonly)

Returns the value of attribute url_generator.



72
73
74
# File 'lib/raft/goliath.rb', line 72

def url_generator
  @url_generator
end

Instance Method Details

#append_entries(request, cluster) ⇒ Object



85
86
87
# File 'lib/raft/goliath.rb', line 85

def append_entries(request, cluster)
  raise "Your RpcProvider subclass must implement #append_entries"
end

#append_entries_to_follower(request, node_id) ⇒ Object



89
90
91
# File 'lib/raft/goliath.rb', line 89

def append_entries_to_follower(request, node_id)
  raise "Your RpcProvider subclass must implement #append_entries_to_follower"
end

#command(request, node_id) ⇒ Object



93
94
95
# File 'lib/raft/goliath.rb', line 93

def command(request, node_id)
  raise "Your RpcProvider subclass must implement #command"
end

#request_votes(request, cluster) ⇒ Object



78
79
80
81
82
83
# File 'lib/raft/goliath.rb', line 78

def request_votes(request, cluster)
  #multi = EventMachine::Synchrony::Multi.new
  #cluster.node_ids.each do |node_id|
  #  multi.add node_id, EventMachine::HttpRequest.new(url_generator.call(node_id)).apost
  #end
end