drb_fileserver_plus 0.3.5 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ddf53d1ba8eb5eceeee7b82bcb1349d98c7a74894897fc3065f67f50505e8016
4
- data.tar.gz: 8f867dfcdb2269d5edc2069fed2b3737278fe719987a34395619e8d1cbc1b372
3
+ metadata.gz: 45b978bb65e30e30be027dde50d7fb2dc74c827187b48c3b9d329a1e4db47135
4
+ data.tar.gz: 8658d87c9d8c999655e114610c412851a67ab015e11c364bfdc62db8cbff6dad
5
5
  SHA512:
6
- metadata.gz: f8fd8b711587995368338d0d68b278a0afe2c206f86ea9849dabc8d6a67b4cafa51296e1a5cbb5dd740f974d6b00501bfeaeaf54199494bdce8bfebae9fb120c
7
- data.tar.gz: badbae8b42d177c68ad2750cb01ba61d6e2bdddd1875d1723884efa250e221395af051347d6f52fbae76139008021794ca6d8122c07c15c7a78c94640c741db5
6
+ metadata.gz: c449a64827a526009e8a78a09471f9c50ff6494cec76a0dcd71d21ad1d86442aad8cca528ed4a734022cbddb39e3bb8345f692e2d93213f07265d9f639739c7f
7
+ data.tar.gz: 375c3ad38607edfa37e0553453d500752e96b79b348b8ab017fccd63e89ad29256d013db57326af9bfb3862c63c6512c1dd3ab3d4738d611e694276cb6f506ff
checksums.yaml.gz.sig CHANGED
Binary file
@@ -10,15 +10,15 @@ require 'drb_fileclient'
10
10
 
11
11
 
12
12
  class DRbFileServer
13
-
13
+
14
14
  attr_accessor :nodes
15
15
 
16
16
  def initialize(nodes, sps: nil, topic: 'file')
17
-
17
+
18
18
  @nodes = nodes
19
19
  @failcount = 0
20
20
  @sps, @topic = sps, topic
21
-
21
+
22
22
  end
23
23
 
24
24
  def chmod(permissions, fname)
@@ -37,41 +37,43 @@ class DRbFileServer
37
37
 
38
38
  end
39
39
 
40
-
40
+
41
41
  def cp(path, path2)
42
-
42
+
43
43
  node = ''
44
-
44
+
45
45
  file_op do |f|
46
- node = 'dfs://' + @nodes.first
46
+ node = 'dfs://' + @nodes.first
47
47
  f.cp File.join(node, path), File.join(node, path2)
48
48
  end
49
-
49
+
50
50
  if @sps then
51
- @sps.notice "%s/copy: %s %s" % [@topic, File.join(node, path),
51
+ @sps.notice "%s/copy: %s %s" % [@topic, File.join(node, path),
52
52
  File.join(node, path2)]
53
53
  end
54
54
 
55
- end
56
-
55
+ end
56
+
57
57
  def directory?(fname)
58
-
59
- file_op do |f|
58
+
59
+ file_op do |f|
60
60
  node = 'dfs://' + @nodes.first
61
- f.directory? File.join(node, fname)
61
+ f.directory? File.join(node, fname)
62
62
  end
63
63
 
64
- end
65
-
66
- def exists?(fname)
64
+ end
67
65
 
68
- file_op do |f|
66
+ def exist?(fname)
67
+
68
+ file_op do |f|
69
69
  node = 'dfs://' + @nodes.first
70
- f.exists? File.join(node, fname)
70
+ f.exist? File.join(node, fname)
71
71
  end
72
72
 
73
73
  end
74
74
 
75
+ alias exists? exist?
76
+
75
77
  def glob(path)
76
78
 
77
79
  file_op do |f|
@@ -81,85 +83,85 @@ class DRbFileServer
81
83
 
82
84
  end
83
85
 
84
-
86
+
85
87
  def ls(path)
86
-
87
- file_op do |f|
88
+
89
+ file_op do |f|
88
90
  node = 'dfs://' + @nodes.first
89
91
  f.ls File.join(node, path)
90
92
  end
91
93
 
92
- end
93
-
94
+ end
95
+
94
96
  def mkdir(path)
95
97
 
96
98
  node = ''
97
-
98
- file_op do |f|
99
+
100
+ file_op do |f|
99
101
  node = 'dfs://' + @nodes.first
100
102
  f.mkdir File.join(node, path)
101
103
  end
102
-
104
+
103
105
  if @sps then
104
- @sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
106
+ @sps.notice "%s/mkdir: %s" % [@topic, File.join(node, path)]
105
107
  end
106
108
 
107
109
  end
108
-
110
+
109
111
  def mkdir_p(path)
110
112
 
111
- node = ''
113
+ node = ''
112
114
 
113
115
  file_op do |f|
114
116
  node = 'dfs://' + @nodes.first
115
117
  f.mkdir_p File.join(node, path)
116
118
  end
117
-
119
+
118
120
  if @sps then
119
121
  @sps.notice "%s/mkdir_p: %s" % [@topic, File.join(node, path)]
120
122
  end
121
-
123
+
122
124
  end
123
-
125
+
124
126
  def mv(path, path2)
125
127
 
126
128
  node = ''
127
-
129
+
128
130
  file_op do |f|
129
131
  node = 'dfs://' + @nodes.first
130
132
  f.mv File.join(node, path), File.join(node, path2)
131
133
  end
132
-
134
+
133
135
  if @sps then
134
- @sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
136
+ @sps.notice "%s/mv: %s %s" % [@topic, File.join(node, path),
135
137
  File.join(node, path2)]
136
138
  end
137
139
 
138
- end
139
-
140
+ end
141
+
140
142
  def read(fname)
141
-
143
+
142
144
  file_op do |f|
143
145
  node = 'dfs://' + @nodes.first
144
146
  f.read File.join(node, fname)
145
147
  end
146
148
 
147
149
  end
148
-
150
+
149
151
  def rm(fname)
150
152
 
151
153
  node = ''
152
-
154
+
153
155
  file_op do |f|
154
156
  node = 'dfs://' + @nodes.first
155
157
  f.rm File.join(node, fname)
156
158
  end
157
-
159
+
158
160
  if @sps then
159
161
  @sps.notice "%s/rm: %s" % [@topic, File.join(node, fname)]
160
162
  end
161
163
 
162
- end
164
+ end
163
165
 
164
166
  def rm_r(fname, force: false)
165
167
 
@@ -176,51 +178,81 @@ class DRbFileServer
176
178
 
177
179
  end
178
180
 
179
- def touch(fname, mtime: Time.now)
181
+ def ru(path)
180
182
 
181
183
  node = ''
182
184
 
183
185
  file_op do |f|
184
186
  node = 'dfs://' + @nodes.first
185
- f.touch File.join(node, fname), mtime: mtime
187
+ f.rm File.join(node, path)
186
188
  end
187
189
 
188
190
  if @sps then
189
- @sps.notice "%s/touch: %s" % [@topic, File.join(node, fname)]
191
+ @sps.notice "%s/ru: %s" % [@topic, File.join(node, path)]
190
192
  end
191
193
 
192
194
  end
193
195
 
194
- def write(fname, content)
196
+ def ru_r(path)
195
197
 
196
198
  node = ''
197
199
 
198
200
  file_op do |f|
199
201
  node = 'dfs://' + @nodes.first
200
- f.write File.join(node, fname), content
202
+ f.rm_r File.join(node, path)
201
203
  end
202
204
 
203
205
  if @sps then
204
- @sps.notice("%s/write: %s" % [@topic, File.join(node, fname)])
206
+ @sps.notice "%s/ru_r: %s" % [@topic, File.join(node, path)]
205
207
  end
206
208
 
207
209
  end
208
210
 
209
- def zip(fname, a)
211
+ def touch(fname, mtime: Time.now)
210
212
 
211
213
  node = ''
212
214
 
213
215
  file_op do |f|
214
216
  node = 'dfs://' + @nodes.first
215
- f.zip File.join(node, fname), a
217
+ f.touch File.join(node, fname), mtime: mtime
216
218
  end
217
219
 
218
220
  if @sps then
219
- @sps.notice "%s/zip: %s" % [@topic, File.join(node, fname)]
221
+ @sps.notice "%s/touch: %s" % [@topic, File.join(node, fname)]
220
222
  end
221
223
 
222
224
  end
223
225
 
226
+ def write(fname, content)
227
+
228
+ node = ''
229
+
230
+ file_op do |f|
231
+ node = 'dfs://' + @nodes.first
232
+ f.write File.join(node, fname), content
233
+ end
234
+
235
+ if @sps then
236
+ @sps.notice("%s/write: %s" % [@topic, File.join(node, fname)])
237
+ end
238
+
239
+ end
240
+
241
+ def zip(fname, a)
242
+
243
+ node = ''
244
+
245
+ file_op do |f|
246
+ node = 'dfs://' + @nodes.first
247
+ f.zip File.join(node, fname), a
248
+ end
249
+
250
+ if @sps then
251
+ @sps.notice "%s/zip: %s" % [@topic, File.join(node, fname)]
252
+ end
253
+
254
+ end
255
+
224
256
 
225
257
  private
226
258
 
@@ -246,21 +278,21 @@ end
246
278
  class DRbFileServerPlus
247
279
 
248
280
 
249
- def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
281
+ def initialize(host: 'localhost', port: '61010', nodes: [], sps_host: nil,
250
282
  sps_port: '59010', sps_topic: 'file')
251
283
 
252
284
  @host, @port, @nodes = host, port, nodes
253
-
285
+
254
286
  if sps_host then
255
- @sps = SPSPub.new(host: sps_host, port: sps_port)
287
+ @sps = SPSPub.new(host: sps_host, port: sps_port)
256
288
  @topic = sps_topic
257
289
  end
258
290
 
259
291
  end
260
292
 
261
293
  def start()
262
-
263
- DRb.start_service "druby://#{@host}:#{@port}",
294
+
295
+ DRb.start_service "druby://#{@host}:#{@port}",
264
296
  DRbFileServer.new(@nodes, sps: @sps, topic: @topic)
265
297
  DRb.thread.join
266
298
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drb_fileserver_plus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,53 +10,54 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMTE3MjExODE0WhcN
15
- MjMwMTE3MjExODE0WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDJmoH7
17
- qtUrW6rfbZ7EC29fiedZY/da3pB3Y22dyx493ue53m7ijEIC9tVCja+3T7sQ7DOe
18
- hAabX4KwhWTbq3SOHEzPeLqOgtciZPNRVo5g5UdOEp/7+ZSeBlm/BJO+RMbYfME+
19
- NxpJB9BfW4vKgdYUU0mKZZhld6iFfpe/L9C7/OKXGy2EtHqs5/iHZcuhqC9c9dkS
20
- zDR0FEWgRFvB2ZHoq0V5VmBeuC/0izTZMToYV2B/hQjSenkMSIO6s39Omf1ciRfs
21
- wbZItRzNHfDgPJL4cuxWbNqrICluAP97a1k7FT/huhsjIIhFotw4fg7Z0Y9RkDZz
22
- 3p3Zd+nK7sBQFHMIejdmCZAQ1L+hNYEoSKJgaaVWN1Edz0tIzPaepW42Jlc8czPi
23
- XZI5Gpal/sobpP4b2PbD+101ZXALel9+VBdUoM4hJohlKbV6BB9TZ+ZKdZAu4G34
24
- LqsTiUuPYVpifonAvvCK/sHZFv06rkPr+bJJwzSUBIDK3WnHKl2ak7iLy28CAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUMqiMl7vY
26
- doLRPPh2YANnlg4pBAAwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
- c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
- BgkqhkiG9w0BAQsFAAOCAYEAcwXlaQYBtgbcM3aGSuse6SyR6v+PPcdAKj9l2JCa
29
- 0E1ziB1NZdFe71iuA24zAmkWfMr1dvlsuQ5W1ETPO67yyxOw7MZzjTomLlhKW3Bv
30
- FDbU8D7hoMjjTfOsdSWjwly/j8b2WnYOwFYHKqgc/Zj4J2PE13v4t44CQV1ofnd9
31
- bvgUHjEWElZL8j/ADbNcc5b8NrOzq3lI9J3rQ2dyEOX00eRLMrOK9Gc3jLpn4vrP
32
- ej8MaD6CTt/k36lVZTFOeBOzbulRTCfBct+ILDXpvCotrKgOqUa5Phyza1/k9+5k
33
- eqd0/0Hhn955Wvk9EEElxPHTDfdMGxw6/wk2hhqG8RKPJONr67wbZVV8jTGqoZ8O
34
- LXnxD2cEcXYHq0H40uYhF0kT+DClasFvaoKsHcfls3AwshME9UPCpIXZ9yqwWB5v
35
- c2ssLUM61klg6aqPwYrT/aNWFy0+dGbhfdCqFHED5VAqdJ9CDJK+ftycl4+P8wjl
36
- BN8isQ//6vwALlrUdDbZ2v7l
13
+ MIIEljCCAv6gAwIBAgIBATANBgkqhkiG9w0BAQsFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTIzMDEyNTIxMjEwOFoXDTI0MDEyNTIxMjEwOFowSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoC
18
+ ggGBAKUhddvwozZjtYVEj/yqjWLKzvpRMU1wRBd6PWCCK/+t9hgMYt46lhP5GHsY
19
+ zM2OevMekeNKBEd5JSZketiK1ghbRlfALh1ONST6PKWNnt3BnikLEXK0xlWZbOGz
20
+ 0S7Yca2p34exICkIu1wHOctvhSdNMe2NUybYjKHsef6qAxx43gySgnSgFS9FcGlm
21
+ oVtH0ugZQHU12fE6vhK4BJlFjMgyuLAMIMRM+BotlwoIEM8QY9ZMwY2MlN1ljOVA
22
+ e3/1mAvk4dZqj+J8CX58djzOGH0XUFw6tq9LO081yEb6Ca0pPONoDqQeU+NdyU0y
23
+ Ep/P683ESZQpjbBgB9OUI4dDD0x2N5ab1mN4OO/eBmE0ZDGcSCH0VVM5FJGVwJiT
24
+ 7T74fzDX/diDutvMLnkgDTUMIntcbn/ruPjbnmYKB0ZoeXiacZ5RPm9LD9sQns9G
25
+ 20sMOc8m6eSKK7T9VO77SjAYyQh7mArYDtkRRCI0h1lmr/WesFfmiUylSiAIEVyd
26
+ InhSpQIDAQABo4GKMIGHMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
27
+ BBQ0U9w98+0gW/IyGjq0uaw4cZ6tGjAmBgNVHREEHzAdgRtnZW1tYXN0ZXJAamFt
28
+ ZXNyb2JlcnRzb24uZXUwJgYDVR0SBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
29
+ c29uLmV1MA0GCSqGSIb3DQEBCwUAA4IBgQA3mG7NrH1mUM8L9IAlkwLZQuUhJ7GS
30
+ 2V6uiTo9+5GZnBdLDddogVzl2TJxibaSjBHsD4q9cqlU0Q/zc6yWjE1S564ixxgO
31
+ Z+reN+03uJW278dgt6xCPElAevlyKzFSRIAJDGMTbyUasKQa5EyvkhzJmRlHlB2G
32
+ 2h8glYWurSEMAEW3MwAlnM/dx9xY5ZPZmm7mrYibZyZ14VBFvhjDb8N5f0b1fFGk
33
+ hsKTNGtZsX2ZtEKdppb243kEDSB42H1j+rUJ+buhnNEInYPVJUssxBdGvT/dx6lH
34
+ hnWcmRcU24PREmDrkjS68yye9Q2zdxTRy0h6vfPoNj5OFYP5BRdnojw0FNIInawG
35
+ SUzB/uXV+0btPu9UxE7axB0CsLZc/HTEEHwVf2LXn/f64Hc4geyDFCmsVTYHbHG1
36
+ 4AI2oRADnvq+nYMWGxnDYHN4TsTgfn4kn21RVrSj4UENz+KinmDEJgGqpWXmYMzh
37
+ zw/9Ryb7BSzoMUXa+KmdyeiL9ArhU9YQh7s=
37
38
  -----END CERTIFICATE-----
38
- date: 2022-02-09 00:00:00.000000000 Z
39
+ date: 2023-01-25 00:00:00.000000000 Z
39
40
  dependencies:
40
41
  - !ruby/object:Gem::Dependency
41
42
  name: drb_fileclient
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 0.6.0
47
45
  - - "~>"
48
46
  - !ruby/object:Gem::Version
49
- version: '0.6'
47
+ version: '0.8'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 0.8.1
50
51
  type: :runtime
51
52
  prerelease: false
52
53
  version_requirements: !ruby/object:Gem::Requirement
53
54
  requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: 0.6.0
57
55
  - - "~>"
58
56
  - !ruby/object:Gem::Version
59
- version: '0.6'
57
+ version: '0.8'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 0.8.1
60
61
  - !ruby/object:Gem::Dependency
61
62
  name: sps-pub
62
63
  requirement: !ruby/object:Gem::Requirement
@@ -103,8 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
104
  - !ruby/object:Gem::Version
104
105
  version: '0'
105
106
  requirements: []
106
- rubyforge_project:
107
- rubygems_version: 2.7.10
107
+ rubygems_version: 3.4.4
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: Designed to provide fault tolerant access to a DRb file server when 2 or
metadata.gz.sig CHANGED
Binary file