ruby_skynet 0.4.0.pre → 0.4.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|