ipc_transit 0.0.3 → 0.1

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.
data/bin/transitd CHANGED
@@ -2,10 +2,17 @@
2
2
  require 'rubygems'
3
3
  require 'net/http'
4
4
  require 'uri'
5
+ require 'optparse'
6
+
5
7
  require 'ipc_transit'
6
8
 
7
9
  $url = 'http://127.0.0.1:8726/transit_data'
8
10
 
11
+ OptionParser.new do |opts|
12
+ opts.on('-p[OPTIONAL]') do |p|
13
+ $ipc_transit_config_path = p
14
+ end
15
+ end.parse!
9
16
 
10
17
  def one_message
11
18
  message = IPCTransit.receive('qname' => 'transitd', 'raw' => 1)
data/bin/trlist CHANGED
@@ -1,7 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rubygems'
3
+ require 'optparse'
4
+
3
5
  require 'ipc_transit'
4
6
 
7
+ OptionParser.new do |opts|
8
+ opts.on('-p[OPTIONAL]') do |p|
9
+ $ipc_transit_config_path = p
10
+ end
11
+ end.parse!
5
12
 
6
13
  IPCTransit.all_queues.each_pair do |qname, info|
7
14
  puts "#{qname} = #{info['count']}"
data/bin/trrecv CHANGED
@@ -1,16 +1,33 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rubygems'
3
- require 'ipc_transit'
3
+ require 'optparse'
4
4
  require 'json'
5
5
 
6
- qname = ARGV[0]
7
- nowait = ARGV[1]
6
+ require 'ipc_transit'
8
7
 
8
+ options = {}
9
9
 
10
- #puts qname
11
- #puts message
10
+ OptionParser.new do |opts|
11
+ opts.banner = "Usage: trrecv [options] qname"
12
+ opts.on('-s[OPTIONAL]') do |s|
13
+ options['single'] = 1
14
+ end
15
+ opts.on('-n[OPTIONAL]') do |n|
16
+ options['nowait'] = 1
17
+ end
18
+ opts.on('-p[OPTIONAL]') do |p|
19
+ $ipc_transit_config_path = p
20
+ end
21
+ end.parse!
22
+
23
+ qname = ARGV[0]
12
24
 
13
- while ret = IPCTransit.receive('qname' => qname, 'nowait' => 1)
25
+ if options['single'] == 1
26
+ ret = IPCTransit.receive('qname' => qname, 'nowait' => options['nowait'])
14
27
  puts JSON.pretty_generate(ret)
28
+ else
29
+ while ret = IPCTransit.receive('qname' => qname, 'nowait' => options['nowait'])
30
+ puts JSON.pretty_generate(ret)
31
+ end
15
32
  end
16
33
 
data/bin/trsend CHANGED
@@ -1,8 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rubygems'
3
- require 'ipc_transit'
4
3
  require 'json'
4
+ require 'optparse'
5
+
6
+ require 'ipc_transit'
5
7
 
8
+ OptionParser.new do |opts|
9
+ opts.on('-p[OPTIONAL]') do |p|
10
+ $ipc_transit_config_path = p
11
+ end
12
+ end.parse!
6
13
 
7
14
  qname = ARGV[0]
8
15
  message = JSON.parse(ARGV[1])
@@ -11,6 +18,6 @@ dest = ARGV[2]
11
18
  if dest.nil?
12
19
  ret = IPCTransit.send('message' => message, 'qname' => qname)
13
20
  else
14
- ret = IPCTransit.send('message' => message, 'qname' => qname, 'd' => dest)
21
+ ret = IPCTransit.send('message' => message, 'qname' => qname, 'destination' => dest)
15
22
  end
16
23
  puts ret
data/bin/trserver CHANGED
@@ -1,8 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rubygems'
3
3
  require 'webrick'
4
+ require 'optparse'
5
+
4
6
  require 'ipc_transit'
5
7
 
8
+ OptionParser.new do |opts|
9
+ opts.on('-p[OPTIONAL]') do |p|
10
+ $ipc_transit_config_path = p
11
+ end
12
+ end.parse!
6
13
 
7
14
  class PersistAnswers < WEBrick::HTTPServlet::AbstractServlet
8
15
  def do_POST(request, response)
data/lib/ipc_transit.rb CHANGED
@@ -14,7 +14,16 @@ require 'ipc_transit/serialize'
14
14
  class IPCTransit
15
15
  @@queues = {}
16
16
 
17
- @@ipc_transit_wire_header_args = {
17
+ if $ipc_transit_config_path.nil?
18
+ $ipc_transit_config_path = '/tmp/ipc_transit'
19
+ end
20
+
21
+ @@wire_header_arg_translate = {
22
+ 'destination' => 'd',
23
+ 'compression' => 'c',
24
+ 'encoding' => 'e'
25
+ }
26
+ @@wire_header_args = {
18
27
  'e' => { #encoding
19
28
  'json' => 1,
20
29
  'yaml' => 1,
@@ -28,7 +37,7 @@ class IPCTransit
28
37
  't' => 1, #hop TTL
29
38
  'q' => 1, #destination qname
30
39
  }
31
- @@ipc_transit_std_args = {
40
+ @@std_args = {
32
41
  'message' => 1,
33
42
  'qname' => 1,
34
43
  'nowait' => 1,
@@ -42,12 +51,15 @@ class IPCTransit
42
51
  # message - hash reference
43
52
  # qname - name of queue to send to
44
53
  # nowait - do not block if the queue is full (optional)
54
+ # encoding - currently JSON and YAML are implemented (optional, defaults to JSON)
55
+ # compression - currently none and zlib are implemented (optional, defaults to none)
56
+ # destination - IP or name of remote destination (optional)
45
57
 
46
58
  def self.send(args)
47
59
  ret = nil
48
60
  flags = IPC_NOWAIT
49
61
  begin
50
- if args['d']
62
+ if args['destination']
51
63
  args['q'] = args['qname']
52
64
  args['qname'] = 'transitd'
53
65
  if not args['t']
@@ -66,6 +78,22 @@ class IPCTransit
66
78
  return ret
67
79
  end
68
80
 
81
+ ##
82
+ # Remove a queue
83
+ #
84
+ # Arguments:
85
+ # qname - name of queue to remove
86
+
87
+ def self.remove(args)
88
+ qname = args['qname']
89
+ key = self.get_queue_id(args)
90
+ mq = MessageQueue.new(key, 0)
91
+ mq.ipc_rmid
92
+ File.delete("#{$ipc_transit_config_path}/#{qname}")
93
+ @@queues.delete(qname)
94
+ end
95
+
96
+
69
97
  ##
70
98
  # Receive a message from a queue
71
99
  #
@@ -165,15 +193,6 @@ class IPCTransit
165
193
 
166
194
  private
167
195
 
168
- def self.get_next_id
169
- new_id = 1
170
- @@queues.each_pair do |k,v|
171
- if v['qid'] > new_id
172
- new_id = v['qid']
173
- end
174
- end
175
- return new_id + 1
176
- end
177
196
  def self.get_queue_id(args)
178
197
  qname = args['qname']
179
198
  self.mk_queue_dir()
@@ -187,8 +206,8 @@ class IPCTransit
187
206
  begin
188
207
  self.lock_dir()
189
208
  File.umask(0000)
190
- file = File.open("/tmp/transit/#{qname}", 'w', 0666)
191
- new_qid = get_next_id
209
+ file = File.open("#{$ipc_transit_config_path}/#{qname}", 'w', 0666)
210
+ new_qid = ftok("#{$ipc_transit_config_path}/#{qname}", 1)
192
211
  file.puts("qid=#{new_qid}")
193
212
  file.puts("qname=#{qname}")
194
213
  file.close
@@ -203,15 +222,15 @@ class IPCTransit
203
222
 
204
223
  def self.lock_dir()
205
224
  File.umask(0000)
206
- File.open('/tmp/transit.lock', File::WRONLY|File::EXCL|File::CREAT, 0666)
225
+ File.open("#{$ipc_transit_config_path}/transit.lock", File::WRONLY|File::EXCL|File::CREAT, 0666)
207
226
  end
208
227
  def self.unlock_dir()
209
- File.delete('/tmp/transit.lock')
228
+ File.delete("#{$ipc_transit_config_path}/transit.lock")
210
229
  end
211
230
 
212
231
  def self.gather_queue_info()
213
232
  self.mk_queue_dir()
214
- Dir.glob('/tmp/transit/*').each do |filename|
233
+ Dir.glob("#{$ipc_transit_config_path}/*").each do |filename|
215
234
  info = {}
216
235
  file = File.new(filename, 'r', 0666)
217
236
  while (line = file.gets)
@@ -232,7 +251,7 @@ class IPCTransit
232
251
 
233
252
  def self.mk_queue_dir()
234
253
  begin
235
- Dir.mkdir('/tmp/transit', 0777)
254
+ Dir.mkdir($ipc_transit_config_path, 0777)
236
255
  rescue
237
256
  end
238
257
  end
@@ -242,9 +261,13 @@ class IPCTransit
242
261
  #it takes message and wire_meta_data
243
262
  def self.pack_message(args)
244
263
  args['message']['.ipc_transit_meta'] = {}
264
+ @@wire_header_arg_translate.keys.each do |k|
265
+ next unless args[k]
266
+ args[@@wire_header_arg_translate[k]] = args[k]
267
+ end
245
268
  args.keys.each do |k|
246
- next if @@ipc_transit_wire_header_args[k]
247
- next if @@ipc_transit_std_args[k]
269
+ next if @@wire_header_args[k]
270
+ next if @@std_args[k]
248
271
  args['message']['.ipc_transit_meta'][k] = args[k]
249
272
  end
250
273
  args['serialized_message'] = transit_freeze(args)
@@ -257,11 +280,11 @@ class IPCTransit
257
280
  def self.serialize_wire_meta(args)
258
281
  s = ''
259
282
  args.keys.each do |k|
260
- if @@ipc_transit_wire_header_args[k]
283
+ if @@wire_header_args[k]
261
284
  #make sure a valid value is passed in
262
- if @@ipc_transit_wire_header_args[k] == 1
285
+ if @@wire_header_args[k] == 1
263
286
  s = "#{s}#{k}=#{args[k]},"
264
- elsif @@ipc_transit_wire_header_args[k][args[k]]
287
+ elsif @@wire_header_args[k][args[k]]
265
288
  s = "#{s}#{k}=#{args[k]},"
266
289
  else
267
290
  raise "passed wire argument #{k} had value #{args[k]} not of allowed type"
@@ -1,8 +1,9 @@
1
- #kind of ghetto, but I don't have a better way right now
2
- def drain_test_queue
1
+ $ipc_transit_config_path = '/tmp/test_ipc_transit'
2
+ $ipc_transit_test_qname = 'tr_dist_test_qname'
3
+
4
+ def clear_test_queue
3
5
  begin
4
- while ret = IPCTransit.receive('qname' => 'test_qname', 'nowait' => 1)
5
- end
6
+ IPCTransit.remove('qname' => $ipc_transit_test_qname)
6
7
  rescue Exception => msg
7
8
  end
8
9
  end
@@ -10,12 +11,12 @@ end
10
11
  def run_daemon(prog)
11
12
  pid = fork
12
13
  if pid.nil? #child
13
- exec "bin/#{prog}"
14
+ exec "ruby -Ilib bin/#{prog} -p/tmp/test_ipc_transit"
14
15
  exit
15
16
  end
16
17
  return pid
17
18
  end
19
+
18
20
  def kill_daemon(pid)
19
21
  Process.kill(9, pid)
20
22
  end
21
-
@@ -0,0 +1,28 @@
1
+ require 'test/unit'
2
+ require 'ipc_transit'
3
+ require 'ipc_transit/test'
4
+
5
+ class TestIPCTransit < Test::Unit::TestCase
6
+ def test_remove_queue
7
+ clear_test_queue()
8
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname)
9
+ all_info = IPCTransit.all_queue_info()
10
+ assert(all_info, 'We received some queue info')
11
+
12
+ assert(all_info[$ipc_transit_test_qname]['qname'] == $ipc_transit_test_qname, 'test queue is in all_queue_info')
13
+ x = all_info['tr_dist_some_random_queue']
14
+ assert(x.nil?, 'another, un-used qname is NOT in all info')
15
+ qid = all_info[$ipc_transit_test_qname]['qid']
16
+ assert(qid, 'queue_id for tr_dist_test_qname exists')
17
+
18
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'nowait' => 1)
19
+ assert(ret, 'IPCTransit.receive returned true')
20
+ assert_equal(ret['foo'], 'bar')
21
+
22
+ IPCTransit.remove('qname' => $ipc_transit_test_qname)
23
+ all_info = IPCTransit.all_queue_info()
24
+ x = all_info[$ipc_transit_test_qname]
25
+ assert(x.nil?, 'tr_dist_test_qname successfully removed')
26
+ end
27
+ end
28
+
@@ -11,22 +11,22 @@ class TestIPCTransit < Test::Unit::TestCase
11
11
  end
12
12
 
13
13
  def test_basic_remote
14
- drain_test_queue()
15
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => 'test_qname', 'd' => '127.0.0.1')
14
+ clear_test_queue()
15
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname, 'destination' => '127.0.0.1')
16
16
  ret = IPCTransit.receive('qname' => 'transitd', 'nowait' => 1)
17
17
  assert(ret, 'IPCTransit.receive returned true')
18
18
  assert_equal(ret['foo'], 'bar')
19
19
  end
20
20
 
21
21
  def test_full_remote
22
- drain_test_queue()
22
+ clear_test_queue()
23
23
  begin
24
24
  @trserver_pid = run_daemon('trserver')
25
25
  @transitd_pid = run_daemon('transitd')
26
26
  sleep 2
27
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => 'test_qname', 'd' => '127.0.0.1')
27
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname, 'destination' => '127.0.0.1')
28
28
  sleep 2
29
- ret = IPCTransit.receive('qname' => 'test_qname', 'nowait' => 1)
29
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'nowait' => 1)
30
30
  rescue Exception => msg
31
31
  puts "Exception: #{msg}"
32
32
  end
@@ -4,33 +4,33 @@ require 'ipc_transit/test'
4
4
 
5
5
  class TestIPCTransit < Test::Unit::TestCase
6
6
  def test_typical
7
- drain_test_queue()
8
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => 'test_qname')
9
- ret = IPCTransit.receive('qname' => 'test_qname', 'nowait' => 1)
7
+ clear_test_queue()
8
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname)
9
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'nowait' => 1)
10
10
  assert(ret, 'IPCTransit.receive returned true')
11
11
  assert_equal(ret['foo'], 'bar')
12
12
  end
13
13
 
14
14
  def test_wire_raw
15
- drain_test_queue()
16
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => 'test_qname', 'e' => 'json', 'c' => 'none')
17
- ret = IPCTransit.receive('qname' => 'test_qname', 'raw' => 1, 'nowait' => 1)
15
+ clear_test_queue()
16
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname, 'encoding' => 'json', 'compression' => 'none')
17
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'raw' => 1, 'nowait' => 1)
18
18
  assert(ret, 'IPCTransit.receive returned true')
19
19
  assert_equal(ret['message']['foo'], 'bar')
20
20
  assert_equal(ret['wire_headers']['e'], 'json')
21
21
  assert_equal(ret['wire_headers']['c'], 'none')
22
22
  end
23
23
  def test_message_meta
24
- drain_test_queue()
25
- IPCTransit.send( 'qname' => 'test_qname',
24
+ clear_test_queue()
25
+ IPCTransit.send( 'qname' => $ipc_transit_test_qname,
26
26
  'message' => { 'foo' => 'bar' },
27
- 'e' => 'json',
28
- 'c' => 'none',
27
+ 'encoding' => 'json',
28
+ 'compression' => 'none',
29
29
  'something' => 'else',
30
30
  'x' => { 'this' => 'that' },
31
31
  'once' => ['more',2]
32
32
  )
33
- ret = IPCTransit.receive('qname' => 'test_qname', 'nowait' => 1)
33
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'nowait' => 1)
34
34
  assert(ret, 'IPCTransit.receive returned true')
35
35
  assert_equal(ret['foo'], 'bar')
36
36
  assert_equal(ret['.ipc_transit_meta']['something'], 'else')
@@ -40,27 +40,27 @@ class TestIPCTransit < Test::Unit::TestCase
40
40
  end
41
41
 
42
42
  def test_get_queue_info
43
- drain_test_queue()
43
+ clear_test_queue()
44
44
  all_info = IPCTransit.all_queue_info()
45
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => 'test_qname')
45
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname)
46
46
  assert(all_info, 'We received some queue info')
47
47
 
48
- assert(all_info['test_qname']['qname'] == 'test_qname', 'test queue is in all_queue_info')
49
- qid = all_info['test_qname']['qid']
50
- assert(qid, 'queue_id for test_qname exists')
48
+ assert(all_info[$ipc_transit_test_qname]['qname'] == $ipc_transit_test_qname, 'test queue is in all_queue_info')
49
+ qid = all_info[$ipc_transit_test_qname]['qid']
50
+ assert(qid, 'queue_id for tr_dist_test_qname exists')
51
51
 
52
- ret = IPCTransit.receive('qname' => 'test_qname', 'nowait' => 1)
52
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'nowait' => 1)
53
53
  assert(ret, 'IPCTransit.receive returned true')
54
54
  assert_equal(ret['foo'], 'bar')
55
55
  end
56
56
 
57
57
  def test_all_queues
58
- drain_test_queue()
59
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => 'test_qname')
58
+ clear_test_queue()
59
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname)
60
60
  ret = IPCTransit.all_queues()
61
61
  assert(ret, 'IPCTransit.all_queues returned true')
62
- assert(ret['test_qname']['count'] == 1, 'exactly one message in test_qname')
63
- ret = IPCTransit.receive('qname' => 'test_qname', 'nowait' => 1)
62
+ assert(ret[$ipc_transit_test_qname]['count'] == 1, 'exactly one message in tr_dist_test_qname')
63
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'nowait' => 1)
64
64
  assert(ret, 'IPCTransit.receive returned true')
65
65
  assert_equal(ret['foo'], 'bar')
66
66
  end
@@ -4,17 +4,17 @@ require 'ipc_transit/test'
4
4
 
5
5
  class TestIPCTransit < Test::Unit::TestCase
6
6
  def test_yaml_typical
7
- drain_test_queue()
8
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'e' => 'yaml', 'qname' => 'test_qname')
9
- ret = IPCTransit.receive('qname' => 'test_qname', 'nowait' => 1)
7
+ clear_test_queue()
8
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'encoding' => 'yaml', 'qname' => $ipc_transit_test_qname)
9
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'nowait' => 1)
10
10
  assert(ret, 'IPCTransit.receive returned true')
11
11
  assert_equal(ret['foo'], 'bar')
12
12
  end
13
13
 
14
14
  def test_yaml_wire_raw
15
- drain_test_queue()
16
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => 'test_qname', 'e' => 'yaml', 'c' => 'none')
17
- ret = IPCTransit.receive('qname' => 'test_qname', 'raw' => 1, 'nowait' => 1)
15
+ clear_test_queue()
16
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname, 'encoding' => 'yaml', 'compression' => 'none')
17
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'raw' => 1, 'nowait' => 1)
18
18
  assert(ret, 'IPCTransit.receive returned true')
19
19
  assert(ret['serialized_message'] =~ /^---/, 'data verified as YAML')
20
20
  assert_equal(ret['message']['foo'], 'bar')
@@ -22,16 +22,16 @@ class TestIPCTransit < Test::Unit::TestCase
22
22
  assert_equal(ret['wire_headers']['c'], 'none')
23
23
  end
24
24
  def test_yaml_message_meta
25
- drain_test_queue()
26
- IPCTransit.send( 'qname' => 'test_qname',
25
+ clear_test_queue()
26
+ IPCTransit.send( 'qname' => $ipc_transit_test_qname,
27
27
  'message' => { 'foo' => 'bar' },
28
- 'e' => 'json',
29
- 'c' => 'none',
28
+ 'encoding' => 'json',
29
+ 'compression' => 'none',
30
30
  'something' => 'else',
31
31
  'x' => { 'this' => 'that' },
32
32
  'once' => ['more',2]
33
33
  )
34
- ret = IPCTransit.receive('qname' => 'test_qname', 'e' => 'yaml', 'nowait' => 1)
34
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'encoding' => 'yaml', 'nowait' => 1)
35
35
  assert(ret, 'IPCTransit.receive returned true')
36
36
  assert_equal(ret['foo'], 'bar')
37
37
  assert_equal(ret['.ipc_transit_meta']['something'], 'else')
@@ -4,32 +4,32 @@ require 'ipc_transit/test'
4
4
 
5
5
  class TestIPCTransit < Test::Unit::TestCase
6
6
  def test_zlib_typical
7
- drain_test_queue()
8
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => 'test_qname', 'c' => 'zlib', 'e' => 'json')
9
- ret = IPCTransit.receive('qname' => 'test_qname', 'nowait' => 1)
7
+ clear_test_queue()
8
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname, 'compression' => 'zlib', 'encoding' => 'json')
9
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'nowait' => 1)
10
10
  assert(ret, 'IPCTransit.receive returned true')
11
11
  assert_equal(ret['foo'], 'bar')
12
12
  end
13
13
 
14
14
  def test_zlib_wire_raw
15
- drain_test_queue()
16
- IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => 'test_qname', 'c' => 'zlib')
17
- ret = IPCTransit.receive('qname' => 'test_qname', 'raw' => 1, 'nowait' => 1)
15
+ clear_test_queue()
16
+ IPCTransit.send('message' => { 'foo' => 'bar' }, 'qname' => $ipc_transit_test_qname, 'compression' => 'zlib')
17
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'raw' => 1, 'nowait' => 1)
18
18
  assert(ret, 'IPCTransit.receive returned true')
19
19
  assert_equal(ret['message']['foo'], 'bar')
20
20
  assert_equal(ret['wire_headers']['c'], 'zlib')
21
21
  end
22
22
  def test_zlib_message_meta
23
- drain_test_queue()
24
- IPCTransit.send( 'qname' => 'test_qname',
23
+ clear_test_queue()
24
+ IPCTransit.send( 'qname' => $ipc_transit_test_qname,
25
25
  'message' => { 'foo' => 'bar' },
26
- 'e' => 'json',
27
- 'c' => 'zlib',
26
+ 'encoding' => 'json',
27
+ 'compression' => 'zlib',
28
28
  'something' => 'else',
29
29
  'x' => { 'this' => 'that' },
30
30
  'once' => ['more',2]
31
31
  )
32
- ret = IPCTransit.receive('qname' => 'test_qname', 'nowait' => 1)
32
+ ret = IPCTransit.receive('qname' => $ipc_transit_test_qname, 'nowait' => 1)
33
33
  assert(ret, 'IPCTransit.receive returned true')
34
34
  assert_equal(ret['foo'], 'bar')
35
35
  assert_equal(ret['.ipc_transit_meta']['something'], 'else')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ipc_transit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: '0.1'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-17 00:00:00.000000000 Z
12
+ date: 2012-11-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
@@ -100,6 +100,7 @@ files:
100
100
  - test/tc_transit_remote.rb
101
101
  - test/tc_transit_yaml.rb
102
102
  - test/tc_transit_zlib.rb
103
+ - test/tc_transit_misc.rb
103
104
  homepage: http://rubygems.org/gems/ipc_transit
104
105
  licenses: []
105
106
  post_install_message:
@@ -129,3 +130,4 @@ test_files:
129
130
  - test/tc_transit_remote.rb
130
131
  - test/tc_transit_yaml.rb
131
132
  - test/tc_transit_zlib.rb
133
+ - test/tc_transit_misc.rb