voldemort-rb 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  require 'rexml/document'
2
+ require 'json'
2
3
 
3
4
  class Connection
4
5
  include REXML
@@ -29,9 +30,13 @@ class Connection
29
30
  end
30
31
 
31
32
  def bootstrap
32
- response = self.get_from("metadata", "cluster.xml", false)
33
- xml = response[1][0][1]
34
- self.nodes = self.parse_nodes_from(xml)
33
+ cluster_response = self.get_from("metadata", "cluster.xml", false)
34
+ cluster_xml = cluster_response[1][0][1]
35
+ self.nodes = self.parse_nodes_from(cluster_xml)
36
+
37
+ stores_response = self.get_from("metadata", "stores.xml", false)
38
+ stores_xml = stores_response[1][0][1]
39
+
35
40
  self.connect_to_random_node
36
41
  rescue StandardError => e
37
42
  raise("There was an error trying to bootstrap from the specified servers: #{e}")
@@ -128,7 +128,17 @@ class TCPConnection < Connection
128
128
  def receive
129
129
  raw_size = self.socket.recv(4)
130
130
  size = raw_size.unpack('N')
131
- self.socket.recv(size[0])
131
+
132
+ # Read until we get to size
133
+ read = 0
134
+ buffer = ""
135
+
136
+ while read < size[0] and size[0] > 0
137
+ data = self.socket.recv(size[0] - read)
138
+ buffer << data
139
+ read += data.length
140
+ end
141
+ return buffer
132
142
  rescue
133
143
  self.reconnect!
134
144
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 1
9
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Alejandro Crosa
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-06-18 00:00:00 -07:00
17
+ date: 2010-07-13 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies: []
20
20