mqrpc 0.0.3 → 0.0.4
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/lib/mqrpc/agent.rb +1 -1
- data/lib/mqrpc/message.rb +5 -10
- metadata +1 -1
data/lib/mqrpc/agent.rb
CHANGED
data/lib/mqrpc/message.rb
CHANGED
@@ -38,7 +38,6 @@ end # modules BindToHash
|
|
38
38
|
module MQRPC
|
39
39
|
class Message
|
40
40
|
extend BindToHash
|
41
|
-
|
42
41
|
@@idseq = 0
|
43
42
|
@@idlock = Mutex.new
|
44
43
|
@@knowntypes = Hash.new
|
@@ -47,9 +46,11 @@ module MQRPC
|
|
47
46
|
# Message attributes
|
48
47
|
header :id
|
49
48
|
header :message_class
|
49
|
+
header :delayable
|
50
50
|
header :reply_to
|
51
51
|
header :timestamp
|
52
52
|
header :args
|
53
|
+
|
53
54
|
def self.inherited(subclass)
|
54
55
|
MQRPC::logger.debug "Message '#{subclass.name}' subclasses #{self.name}"
|
55
56
|
@@knowntypes[subclass.name] = subclass
|
@@ -75,7 +76,8 @@ module MQRPC
|
|
75
76
|
|
76
77
|
def initialize
|
77
78
|
@data = Hash.new
|
78
|
-
|
79
|
+
# Don't delay messages by defualt
|
80
|
+
self.delayable = false
|
79
81
|
|
80
82
|
generate_id!
|
81
83
|
self.message_class = self.class.name
|
@@ -94,14 +96,6 @@ module MQRPC
|
|
94
96
|
return Time.now.to_f - timestamp
|
95
97
|
end
|
96
98
|
|
97
|
-
def buffer?
|
98
|
-
return @buffer
|
99
|
-
end
|
100
|
-
|
101
|
-
def want_buffer(want_buffer=true)
|
102
|
-
@buffer = want_buffer
|
103
|
-
end
|
104
|
-
|
105
99
|
def to_json(*args)
|
106
100
|
return @data.to_json(*args)
|
107
101
|
end
|
@@ -124,6 +118,7 @@ module MQRPC
|
|
124
118
|
# Copy the request id if we are given a source_request
|
125
119
|
if source_request.is_a?(RequestMessage)
|
126
120
|
self.in_reply_to = source_request.id
|
121
|
+
self.delayable = source_request.delayable
|
127
122
|
end
|
128
123
|
self.args = Hash.new
|
129
124
|
end
|