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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 729668f7d983cdc9801d603ace66a025d0038cf2
4
- data.tar.gz: 9f9ac2b233d3c607d01f316476bf193010cc8a86
3
+ metadata.gz: 0a4505056e7cd42bd2218494f4ef40c5c46b68b8
4
+ data.tar.gz: a2c44053bd1e42ac9bf3f67797e0363d5002b6fa
5
5
  SHA512:
6
- metadata.gz: d68231094851f6c74ee3eb1f0eaf17442ca7fb9d7788c7247c09561b61344b68cd68fb495468f66e8ee517171566b8e099431e0ba0a844f6be35c2df0ba92072
7
- data.tar.gz: c57624d3a943a3c8751b738f7c4a447b145d9127d4b08bd040ac700c1bbde88ca9c12aa379a0e84c2034cf785d2e8f30ff117242a6171e0730dd957eb9e07f6d
6
+ metadata.gz: df66afd5b487c3f1014064c39687404681f1c0cb5528e888af262daf7b2535474b10029a8d278d7e133b1ccb89f223b9621a5bd944ee19b7f413462cc4c8602f
7
+ data.tar.gz: 47ed383fa62a90510cb2788d520a9416e6f82610db9300fcb7a6370285fc298cfd96348c99ecbc1bcbd5bb03c708a3456283b52f524960843aeb0f0eb930d5d1
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source 'http://rubygems.org'
1
+ source :rubygems
2
2
 
3
3
  group :test do
4
4
  gem "shoulda"
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)
@@ -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('skynet.log')
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')
@@ -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('skynet.log')
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 = 2000
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
@@ -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
@@ -57,7 +57,7 @@ module RubySkynet
57
57
  :read_timeout => 5,
58
58
  :connect_timeout => 3,
59
59
  :connect_retry_interval => 1,
60
- :connect_retry_count => 300
60
+ :connect_retry_count => 30
61
61
  }
62
62
  end
63
63
 
@@ -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({'out' => BSON.serialize(reply).to_s}).to_s)
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
@@ -1,3 +1,3 @@
1
1
  module RubySkynet #:nodoc
2
- VERSION = "0.4.0.pre"
2
+ VERSION = "0.4.0.pre2"
3
3
  end
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.pre
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-18 00:00:00.000000000 Z
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