ipc_transit 0.0.3 → 0.1

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