ruby_skynet 0.4.0.pre → 0.4.0.pre2
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.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/examples/e.rb +14 -0
- data/examples/echo_client.rb +3 -2
- data/examples/echo_server.rb +6 -2
- data/lib/ruby_skynet/common.rb +4 -0
- data/lib/ruby_skynet/connection.rb +4 -4
- data/lib/ruby_skynet/registry.rb +1 -1
- data/lib/ruby_skynet/server.rb +1 -1
- data/lib/ruby_skynet/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a4505056e7cd42bd2218494f4ef40c5c46b68b8
|
4
|
+
data.tar.gz: a2c44053bd1e42ac9bf3f67797e0363d5002b6fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df66afd5b487c3f1014064c39687404681f1c0cb5528e888af262daf7b2535474b10029a8d278d7e133b1ccb89f223b9621a5bd944ee19b7f413462cc4c8602f
|
7
|
+
data.tar.gz: 47ed383fa62a90510cb2788d520a9416e6f82610db9300fcb7a6370285fc298cfd96348c99ecbc1bcbd5bb03c708a3456283b52f524960843aeb0f0eb930d5d1
|
data/Gemfile
CHANGED
data/examples/e.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
|
2
|
+
require 'rubygems'
|
3
|
+
require 'ruby_skynet'
|
4
|
+
require 'active_support/core_ext/hash/conversions'
|
5
|
+
|
6
|
+
SemanticLogger::Logger.default_level = :trace
|
7
|
+
SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new('skynet.log')
|
8
|
+
|
9
|
+
client = RubySkynet::Client.new('InquiriesService')
|
10
|
+
#h = {}; 1000.times{|i| h["hello#{i}"] = i}
|
11
|
+
#p client.call('echo', h)
|
12
|
+
data = Hash.from_xml(File.read("../../claritybase/test/load/inquiry.xml"))['inquiry']
|
13
|
+
p data
|
14
|
+
p client.call('create', data)
|
data/examples/echo_client.rb
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
+
# Allow examples to be run directly outside of the Gem
|
2
|
+
$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
|
1
3
|
require 'rubygems'
|
2
4
|
require 'ruby_skynet'
|
3
|
-
require 'sync_attr'
|
4
5
|
|
5
6
|
SemanticLogger::Logger.default_level = :trace
|
6
|
-
SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new('
|
7
|
+
SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new('echo_client.log')
|
7
8
|
|
8
9
|
client = RubySkynet::Client.new('EchoService')
|
9
10
|
p client.call('echo', :hello => 'world')
|
data/examples/echo_server.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
+
# Allow examples to be run directly outside of the Gem
|
2
|
+
$LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
|
1
3
|
require 'rubygems'
|
2
4
|
require 'ruby_skynet'
|
3
5
|
|
4
6
|
# Log trace information to a log file
|
5
7
|
SemanticLogger::Logger.default_level = :trace
|
6
|
-
SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new('
|
8
|
+
SemanticLogger::Logger.appenders << SemanticLogger::Appender::File.new('echo_server.log')
|
7
9
|
|
8
10
|
# Specify Port and Hostname to listen for requests on
|
9
|
-
RubySkynet::Server.port =
|
11
|
+
RubySkynet::Server.port = 2020
|
10
12
|
RubySkynet::Server.hostname = '127.0.0.1'
|
11
13
|
|
12
14
|
# Just echo back any parameters received when the echo method is called
|
@@ -26,3 +28,5 @@ RubySkynet::Server.start
|
|
26
28
|
|
27
29
|
puts "Press enter to shutdown server"
|
28
30
|
gets
|
31
|
+
|
32
|
+
RubySkynet::Server.stop
|
data/lib/ruby_skynet/common.rb
CHANGED
@@ -9,12 +9,16 @@ module RubySkynet
|
|
9
9
|
# Read 4 byte size of following BSON document
|
10
10
|
bytes = socket.read(4)
|
11
11
|
|
12
|
+
# No more data
|
13
|
+
return unless bytes
|
14
|
+
|
12
15
|
# Read BSON document
|
13
16
|
sz = bytes.unpack("V")[0]
|
14
17
|
raise "Invalid Data received from server:#{bytes.inspect}" unless sz
|
15
18
|
|
16
19
|
bytebuf.append!(bytes)
|
17
20
|
bytebuf.append!(socket.read(sz - 4))
|
21
|
+
raise "Celluloid is not returning #{sz} requested bytes. #{bytebuf.length} bytes returned" unless sz == bytebuf.length
|
18
22
|
return BSON.deserialize(bytebuf)
|
19
23
|
end
|
20
24
|
|
@@ -95,7 +95,7 @@ module RubySkynet
|
|
95
95
|
client_handshake = { 'clientid' => client_id }
|
96
96
|
@logger.debug "Sending Client Handshake"
|
97
97
|
@logger.trace 'Client Handshake', client_handshake
|
98
|
-
socket.write(BSON.serialize(client_handshake))
|
98
|
+
socket.write(BSON.serialize(client_handshake).to_s)
|
99
99
|
end
|
100
100
|
|
101
101
|
# To prevent strange issues if user incorrectly supplies server names
|
@@ -135,12 +135,12 @@ module RubySkynet
|
|
135
135
|
|
136
136
|
@logger.debug "Sending Header"
|
137
137
|
@logger.trace 'Header', header
|
138
|
-
socket.write(BSON.serialize(header))
|
138
|
+
socket.write(BSON.serialize(header).to_s)
|
139
139
|
|
140
140
|
# The parameters are placed in the request object in BSON serialized form
|
141
141
|
request = {
|
142
142
|
'clientid' => socket.user_data[:client_id],
|
143
|
-
'in' => BSON.serialize(parameters).to_s,
|
143
|
+
'in' => BSON::Binary.new(BSON.serialize(parameters).to_s),
|
144
144
|
'method' => method_name.to_s,
|
145
145
|
'requestinfo' => {
|
146
146
|
'requestid' => request_id,
|
@@ -156,7 +156,7 @@ module RubySkynet
|
|
156
156
|
@logger.debug "Sending Request"
|
157
157
|
@logger.trace 'Request', request
|
158
158
|
@logger.trace 'Parameters:', parameters
|
159
|
-
socket.write(BSON.serialize(request))
|
159
|
+
socket.write(BSON.serialize(request).to_s)
|
160
160
|
|
161
161
|
# Since Send does not affect state on the server we can also retry reads
|
162
162
|
if idempotent
|
data/lib/ruby_skynet/registry.rb
CHANGED
data/lib/ruby_skynet/server.rb
CHANGED
@@ -167,7 +167,7 @@ module RubySkynet
|
|
167
167
|
|
168
168
|
logger.debug "Sending Reply"
|
169
169
|
logger.trace 'Reply', reply
|
170
|
-
client.write(BSON.serialize(
|
170
|
+
client.write(BSON.serialize('out' => BSON::Binary.new(BSON.serialize(reply))).to_s)
|
171
171
|
else
|
172
172
|
logger.debug "Closing client since no reply is being sent back"
|
173
173
|
break
|
data/lib/ruby_skynet/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_skynet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.0.
|
4
|
+
version: 0.4.0.pre2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reid Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-03-
|
11
|
+
date: 2013-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: semantic_logger
|
@@ -106,6 +106,7 @@ files:
|
|
106
106
|
- LICENSE.txt
|
107
107
|
- README.md
|
108
108
|
- Rakefile
|
109
|
+
- examples/e.rb
|
109
110
|
- examples/echo_client.rb
|
110
111
|
- examples/echo_server.rb
|
111
112
|
- lib/ruby_skynet.rb
|