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