StompMq 0.1 → 0.2

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.
Files changed (2) hide show
  1. data/lib/stompmq/connection.rb +13 -8
  2. metadata +2 -2
@@ -33,16 +33,16 @@ module StompMq
33
33
 
34
34
  # Send a STOMP message to a queue.
35
35
  def send_message(opts = { :queue => nil, :header => {}, :content => {} })
36
- queue = args[:queue]
37
- content = args[:content]
38
- header = args[:header]
36
+ queue = opts[:queue]
37
+ content = opts[:content]
38
+ header = opts[:header]
39
39
 
40
40
  header = {:destination => queue}.merge(header)
41
41
  send_frame :send, header, content
42
42
  end
43
43
 
44
44
  # Receive a STOMP message.
45
- def receive_message(timeout = 0)
45
+ def receive_message(timeout = nil)
46
46
  frame = receive_frame(timeout)
47
47
  return nil if !frame
48
48
  raise StompErrorReceived.new(frame.content) if frame.cmd == 'ERROR'
@@ -65,14 +65,19 @@ module StompMq
65
65
  end
66
66
 
67
67
  # Receive a standard STOMP frame.
68
- def receive_frame(timeout = 0)
69
- receive_data(timeout)
70
- parse_frame
68
+ def receive_frame(timeout = nil)
69
+ frame = nil
70
+ # FIXME: we'll violate the timeout given if half a packet comes in at first, then more later.
71
+ until frame do
72
+ return nil if receive_data(timeout) == nil
73
+ frame = parse_frame
74
+ end
75
+ frame
71
76
  end
72
77
 
73
78
  # Receive data waiting on a socket. If timeout is passed, block for this many seconds,
74
79
  # otherwise don't block, return nil if no frame is waiting.
75
- def receive_data(timeout = 0)
80
+ def receive_data(timeout = nil)
76
81
  sock_ready = select([@sock], nil, nil, timeout)
77
82
  return nil if !sock_ready
78
83
  @buffer += @sock.recv(1024)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: StompMq
3
3
  version: !ruby/object:Gem::Version
4
- version: "0.1"
4
+ version: "0.2"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sarah Nordstrom
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-09-01 00:00:00 -04:00
12
+ date: 2008-09-06 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15