onstomp 1.0.0 → 1.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/.gitignore +4 -0
- data/.yardopts +2 -1
- data/Rakefile +147 -0
- data/extra_doc/API.md +491 -0
- data/extra_doc/API.md.erb +33 -0
- data/extra_doc/DeveloperNarrative.md +123 -0
- data/extra_doc/UserNarrative.md +511 -0
- data/lib/onstomp.rb +5 -5
- data/lib/onstomp/client.rb +6 -1
- data/lib/onstomp/components/frame.rb +6 -6
- data/lib/onstomp/components/frame_headers.rb +18 -18
- data/lib/onstomp/components/scopes/transaction_scope.rb +11 -11
- data/lib/onstomp/components/subscription.rb +2 -2
- data/lib/onstomp/components/threaded_processor.rb +1 -1
- data/lib/onstomp/components/uri.rb +1 -1
- data/lib/onstomp/connections/base.rb +5 -5
- data/lib/onstomp/connections/heartbeating.rb +2 -2
- data/lib/onstomp/connections/serializers/stomp_1.rb +6 -6
- data/lib/onstomp/connections/serializers/stomp_1_1.rb +2 -2
- data/lib/onstomp/connections/stomp_1_0.rb +1 -1
- data/lib/onstomp/connections/stomp_1_1.rb +1 -1
- data/lib/onstomp/failover.rb +4 -0
- data/lib/onstomp/failover/buffers.rb +1 -0
- data/lib/onstomp/failover/buffers/receipts.rb +101 -0
- data/lib/onstomp/failover/buffers/written.rb +2 -2
- data/lib/onstomp/failover/client.rb +15 -12
- data/lib/onstomp/failover/failover_configurable.rb +3 -3
- data/lib/onstomp/failover/pools/base.rb +1 -1
- data/lib/onstomp/failover/uri.rb +41 -16
- data/lib/onstomp/interfaces/client_configurable.rb +1 -1
- data/lib/onstomp/interfaces/client_events.rb +30 -11
- data/lib/onstomp/interfaces/connection_events.rb +5 -1
- data/lib/onstomp/interfaces/event_manager.rb +2 -2
- data/lib/onstomp/interfaces/frame_methods.rb +169 -8
- data/lib/onstomp/interfaces/uri_configurable.rb +3 -3
- data/lib/onstomp/open-uri/client_extensions.rb +4 -4
- data/lib/onstomp/version.rb +2 -2
- data/onstomp.gemspec +0 -1
- data/spec/onstomp/components/threaded_processor_spec.rb +21 -0
- data/spec/onstomp/connections/base_spec.rb +15 -0
- data/spec/onstomp/failover/buffers/receipts_spec.rb +189 -0
- data/spec/onstomp/failover/buffers/written_spec.rb +167 -1
- data/spec/onstomp/failover/client_spec.rb +70 -1
- data/spec/onstomp/failover/failover_events_spec.rb +1 -2
- data/spec/onstomp/failover/uri_spec.rb +37 -4
- data/spec/onstomp/full_stacks/failover_spec.rb +76 -25
- data/spec/onstomp/full_stacks/onstomp_spec.rb +52 -8
- data/spec/onstomp/full_stacks/onstomp_ssh_spec.rb +83 -0
- data/spec/onstomp/full_stacks/test_broker.rb +45 -29
- metadata +11 -15
- data/DeveloperNarrative.md +0 -15
- data/UserNarrative.md +0 -8
data/.gitignore
CHANGED
data/.yardopts
CHANGED
data/Rakefile
CHANGED
@@ -12,3 +12,150 @@ RSpec::Core::RakeTask.new do |t|
|
|
12
12
|
end
|
13
13
|
|
14
14
|
task :default => :spec
|
15
|
+
|
16
|
+
desc "Tasks for generating/monitoring APIs and their changes"
|
17
|
+
task :api do
|
18
|
+
puts "Refreshing YARD database"
|
19
|
+
`yard doc -n`
|
20
|
+
puts "Generating API.md"
|
21
|
+
`rake api:gen`
|
22
|
+
puts "Updating YARD docs"
|
23
|
+
`rake yard`
|
24
|
+
end
|
25
|
+
|
26
|
+
namespace :api do
|
27
|
+
def parse_api_spec str
|
28
|
+
g_major, s_proto, rest = str.split(' ', 3)
|
29
|
+
g_varies = nil
|
30
|
+
g_major = g_major[4..-1]
|
31
|
+
s_proto = s_proto[6..-1]
|
32
|
+
if g_major =~ /[\*\!]$/
|
33
|
+
g_varies = g_major.end_with?('!') ? :major : :minor
|
34
|
+
g_major = g_major[0..-2]
|
35
|
+
end
|
36
|
+
if s_proto =~ /[\*\!]$/
|
37
|
+
s_varies = s_proto.end_with?('!') ? :major : :minor
|
38
|
+
s_proto = s_proto[0..-2]
|
39
|
+
end
|
40
|
+
{
|
41
|
+
:majors => g_major.split(','),
|
42
|
+
:stomp_protocols => s_proto.split(','),
|
43
|
+
:gem_variations => g_varies,
|
44
|
+
:protocol_variations => s_varies,
|
45
|
+
:notes => rest
|
46
|
+
}
|
47
|
+
end
|
48
|
+
|
49
|
+
def make_method_tag link, yard_obj
|
50
|
+
parse_api_spec(yard_obj.tags.detect { |t| t.tag_name == 'api' }.text).tap do |t|
|
51
|
+
t[:name] = yard_obj.name
|
52
|
+
t[:signature] = yard_obj.signature.sub(/^def /,'')
|
53
|
+
t[:yard_link] = link
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def make_signature_tags link, yard_obj
|
58
|
+
base = make_method_tag(link, yard_obj)
|
59
|
+
overrides = yard_obj.tags.select do |t|
|
60
|
+
t.instance_of? ::YARD::Tags::OverloadTag
|
61
|
+
end
|
62
|
+
if overrides.empty?
|
63
|
+
[base]
|
64
|
+
else
|
65
|
+
overrides.map do |o|
|
66
|
+
base.dup.tap do |b|
|
67
|
+
b[:signature] = o.signature
|
68
|
+
if api_spec = o.tags.detect { |t| t.tag_name == 'api' }
|
69
|
+
b.merge! parse_api_spec(api_spec.text)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
desc "Generate some API changes"
|
77
|
+
task :gen => [:yard] do
|
78
|
+
GEM_ROOT = File.expand_path('..', __FILE__)
|
79
|
+
TEMPLATE_INPUT = File.join GEM_ROOT, 'extra_doc', 'API.md.erb'
|
80
|
+
YARD_DB = File.join GEM_ROOT, '.yardoc', 'objects', 'root.dat'
|
81
|
+
TEMPLATE_OUTPUT = File.join GEM_ROOT, 'extra_doc', 'API.md'
|
82
|
+
require 'erubis'
|
83
|
+
|
84
|
+
template = File.open(TEMPLATE_INPUT, 'rb') { |f| f.read }
|
85
|
+
yard_hash = Marshal.load(File.open(YARD_DB, 'rb') { |f| f.read })
|
86
|
+
api_set = yard_hash.keys.select { |k| yard_hash[k].tags.any? { |t| t.tag_name == 'api' } }
|
87
|
+
api_table = Hash.new do |h,k|
|
88
|
+
h[k] = { :version => k, :methods => [] }
|
89
|
+
end
|
90
|
+
protos = []
|
91
|
+
api_set.each do |k|
|
92
|
+
yard_obj = yard_hash[k]
|
93
|
+
meths = make_signature_tags k.to_s, yard_obj
|
94
|
+
meths.each do |m|
|
95
|
+
m[:stomp_protocols].each { |p| protos << p unless protos.include?(p) }
|
96
|
+
m[:majors].each { |v| api_table[v][:methods] << m }
|
97
|
+
end
|
98
|
+
end
|
99
|
+
protos.sort!
|
100
|
+
apis = api_table.keys.sort.map do |k|
|
101
|
+
api = {
|
102
|
+
:version => k,
|
103
|
+
:protocols => protos
|
104
|
+
}
|
105
|
+
api[:methods] = api_table[k][:methods].map do |m|
|
106
|
+
m[:protocols] = protos.map { |p| m[:stomp_protocols].include? p }
|
107
|
+
m
|
108
|
+
end.sort { |a,b| a[:name] <=> b[:name] }
|
109
|
+
api
|
110
|
+
end
|
111
|
+
erb = Erubis::Eruby.new template
|
112
|
+
template = erb.result(binding())
|
113
|
+
File.open(TEMPLATE_OUTPUT, 'wb') { |f| f.write template }
|
114
|
+
end
|
115
|
+
|
116
|
+
desc "Generate yard docs on gh-pages branch and push out to github"
|
117
|
+
task :push do
|
118
|
+
require 'tmpdir'
|
119
|
+
stashed = false
|
120
|
+
tmp_doc = Dir.mktmpdir 'onstomp_docs'
|
121
|
+
puts "Generating yard docs in temp dir #{tmp_doc}"
|
122
|
+
`rake yard OPTS="--output-dir #{tmp_doc}"`
|
123
|
+
`git diff-files --quiet`
|
124
|
+
if $?.exitstatus == 1
|
125
|
+
# we have changes
|
126
|
+
puts "Stashing your working changes"
|
127
|
+
stashed = true
|
128
|
+
`git stash save "stashing changes for gh-pages update"`
|
129
|
+
end
|
130
|
+
sh "git checkout gh-pages"
|
131
|
+
sh "git pull origin gh-pages"
|
132
|
+
rm_rf [ Dir.glob("*.html"), "OnStomp", "js", "css" ].flatten
|
133
|
+
cp_r "#{tmp_doc}/.", '.'
|
134
|
+
new_docs = Dir.glob("#{tmp_doc}/**/*").map { |f| f.sub(tmp_doc + '/','') }
|
135
|
+
rm_rf tmp_doc
|
136
|
+
removed_docs = `git status --porcelain --untracked-files=no|grep "^ D "`.split("\n").map do |line|
|
137
|
+
line[3..-1]
|
138
|
+
end
|
139
|
+
puts "Adding changed documentation"
|
140
|
+
`git add #{new_docs.join(' ')}`
|
141
|
+
unless removed_docs.empty?
|
142
|
+
puts "Cleaning out old doc files"
|
143
|
+
`git rm #{removed_docs.join(' ')}`
|
144
|
+
end
|
145
|
+
sh "git commit -m \"updated yard docs\""
|
146
|
+
puts "Pushing changes to remote 'origin/gh-pages'"
|
147
|
+
`git push origin gh-pages`
|
148
|
+
if $?.exitstatus == 1
|
149
|
+
puts "Updates could not be pushed to remote, resolve the conflict then:"
|
150
|
+
puts "\tgit push origin gh-pages"
|
151
|
+
puts "\tgit checkout master"
|
152
|
+
puts "\tgit stash pop" if stashed
|
153
|
+
else
|
154
|
+
`git checkout master`
|
155
|
+
if stashed
|
156
|
+
puts "Restoring your working copy changes"
|
157
|
+
`git stash pop`
|
158
|
+
end
|
159
|
+
end
|
160
|
+
end
|
161
|
+
end
|
data/extra_doc/API.md
ADDED
@@ -0,0 +1,491 @@
|
|
1
|
+
# OnStomp Generated Method APIs
|
2
|
+
|
3
|
+
## OnStomp 1 API (1.0.0+)
|
4
|
+
|
5
|
+
<table style="width:75%; border-collapse:collapse;">
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th style="text-align: left;">Method</th>
|
9
|
+
<th style="width: 50%; text-align: left;">Signature</th>
|
10
|
+
<th style="text-align: left;">STOMP 1.0</th>
|
11
|
+
<th style="text-align: left;">STOMP 1.1</th>
|
12
|
+
</tr>
|
13
|
+
</thead>
|
14
|
+
<tfoot>
|
15
|
+
</tfoot>
|
16
|
+
<tbody>
|
17
|
+
<tr>
|
18
|
+
<td>{OnStomp::Interfaces::FrameMethods#abort abort}</td>
|
19
|
+
<td>
|
20
|
+
<code>abort(tx_id, headers={})</code>
|
21
|
+
</td>
|
22
|
+
<td style="background-color: #bfb;">true</td>
|
23
|
+
<td style="background-color: #bfb;">true</td>
|
24
|
+
</tr>
|
25
|
+
<tr>
|
26
|
+
<td>{OnStomp::Interfaces::FrameMethods#ack ack}</td>
|
27
|
+
<td>
|
28
|
+
<code>ack(message_frame, headers={})</code>
|
29
|
+
</td>
|
30
|
+
<td style="background-color: #bfb;">true</td>
|
31
|
+
<td style="background-color: #bfb;">true</td>
|
32
|
+
</tr>
|
33
|
+
<tr>
|
34
|
+
<td>{OnStomp::Interfaces::FrameMethods#ack ack}</td>
|
35
|
+
<td>
|
36
|
+
<code>ack(message_id, headers={})</code>
|
37
|
+
</td>
|
38
|
+
<td style="background-color: #bfb;">true</td>
|
39
|
+
<td style="background-color: #fbb;">false</td>
|
40
|
+
</tr>
|
41
|
+
<tr>
|
42
|
+
<td>{OnStomp::Interfaces::FrameMethods#ack ack}</td>
|
43
|
+
<td>
|
44
|
+
<code>ack(message_id, subscription_id, headers={})</code>
|
45
|
+
</td>
|
46
|
+
<td style="background-color: #bfb;">true</td>
|
47
|
+
<td style="background-color: #bfb;">true</td>
|
48
|
+
</tr>
|
49
|
+
<tr>
|
50
|
+
<td>{OnStomp::Interfaces::ClientEvents#after_receiving after_receiving}</td>
|
51
|
+
<td>
|
52
|
+
<code>create_event_methods :receiving, :before, :after</code>
|
53
|
+
</td>
|
54
|
+
<td style="background-color: #bfb;">true</td>
|
55
|
+
<td style="background-color: #bfb;">true</td>
|
56
|
+
</tr>
|
57
|
+
<tr>
|
58
|
+
<td>{OnStomp::Interfaces::ClientEvents#after_transmitting after_transmitting}</td>
|
59
|
+
<td>
|
60
|
+
<code>create_event_methods :transmitting, :before, :after</code>
|
61
|
+
</td>
|
62
|
+
<td style="background-color: #bfb;">true</td>
|
63
|
+
<td style="background-color: #bfb;">true</td>
|
64
|
+
</tr>
|
65
|
+
<tr>
|
66
|
+
<td>{OnStomp::Interfaces::FrameMethods#beat beat}</td>
|
67
|
+
<td>
|
68
|
+
<code>beat( )</code>
|
69
|
+
</td>
|
70
|
+
<td style="background-color: #fbb;">false</td>
|
71
|
+
<td style="background-color: #bfb;">true</td>
|
72
|
+
</tr>
|
73
|
+
<tr>
|
74
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_abort before_abort}</td>
|
75
|
+
<td>
|
76
|
+
<code>create_event_methods :abort, :before, :on</code>
|
77
|
+
</td>
|
78
|
+
<td style="background-color: #bfb;">true</td>
|
79
|
+
<td style="background-color: #bfb;">true</td>
|
80
|
+
</tr>
|
81
|
+
<tr>
|
82
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_ack before_ack}</td>
|
83
|
+
<td>
|
84
|
+
<code>create_event_methods :ack, :before, :on</code>
|
85
|
+
</td>
|
86
|
+
<td style="background-color: #bfb;">true</td>
|
87
|
+
<td style="background-color: #bfb;">true</td>
|
88
|
+
</tr>
|
89
|
+
<tr>
|
90
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_begin before_begin}</td>
|
91
|
+
<td>
|
92
|
+
<code>create_event_methods :begin, :before, :on</code>
|
93
|
+
</td>
|
94
|
+
<td style="background-color: #bfb;">true</td>
|
95
|
+
<td style="background-color: #bfb;">true</td>
|
96
|
+
</tr>
|
97
|
+
<tr>
|
98
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_broker_beat before_broker_beat}</td>
|
99
|
+
<td>
|
100
|
+
<code>create_event_methods :broker_beat, :before, :on</code>
|
101
|
+
</td>
|
102
|
+
<td style="background-color: #fbb;">false</td>
|
103
|
+
<td style="background-color: #bfb;">true</td>
|
104
|
+
</tr>
|
105
|
+
<tr>
|
106
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_client_beat before_client_beat}</td>
|
107
|
+
<td>
|
108
|
+
<code>create_event_methods :client_beat, :before, :on</code>
|
109
|
+
</td>
|
110
|
+
<td style="background-color: #fbb;">false</td>
|
111
|
+
<td style="background-color: #bfb;">true</td>
|
112
|
+
</tr>
|
113
|
+
<tr>
|
114
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_commit before_commit}</td>
|
115
|
+
<td>
|
116
|
+
<code>create_event_methods :commit, :before, :on</code>
|
117
|
+
</td>
|
118
|
+
<td style="background-color: #bfb;">true</td>
|
119
|
+
<td style="background-color: #bfb;">true</td>
|
120
|
+
</tr>
|
121
|
+
<tr>
|
122
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_disconnect before_disconnect}</td>
|
123
|
+
<td>
|
124
|
+
<code>create_event_methods :disconnect, :before, :on</code>
|
125
|
+
</td>
|
126
|
+
<td style="background-color: #bfb;">true</td>
|
127
|
+
<td style="background-color: #bfb;">true</td>
|
128
|
+
</tr>
|
129
|
+
<tr>
|
130
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_error before_error}</td>
|
131
|
+
<td>
|
132
|
+
<code>create_event_methods :error, :before, :on</code>
|
133
|
+
</td>
|
134
|
+
<td style="background-color: #bfb;">true</td>
|
135
|
+
<td style="background-color: #bfb;">true</td>
|
136
|
+
</tr>
|
137
|
+
<tr>
|
138
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_message before_message}</td>
|
139
|
+
<td>
|
140
|
+
<code>create_event_methods :message, :before, :on</code>
|
141
|
+
</td>
|
142
|
+
<td style="background-color: #bfb;">true</td>
|
143
|
+
<td style="background-color: #bfb;">true</td>
|
144
|
+
</tr>
|
145
|
+
<tr>
|
146
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_nack before_nack}</td>
|
147
|
+
<td>
|
148
|
+
<code>create_event_methods :nack, :before, :on</code>
|
149
|
+
</td>
|
150
|
+
<td style="background-color: #fbb;">false</td>
|
151
|
+
<td style="background-color: #bfb;">true</td>
|
152
|
+
</tr>
|
153
|
+
<tr>
|
154
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_receipt before_receipt}</td>
|
155
|
+
<td>
|
156
|
+
<code>create_event_methods :receipt, :before, :on</code>
|
157
|
+
</td>
|
158
|
+
<td style="background-color: #bfb;">true</td>
|
159
|
+
<td style="background-color: #bfb;">true</td>
|
160
|
+
</tr>
|
161
|
+
<tr>
|
162
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_receiving before_receiving}</td>
|
163
|
+
<td>
|
164
|
+
<code>create_event_methods :receiving, :before, :after</code>
|
165
|
+
</td>
|
166
|
+
<td style="background-color: #bfb;">true</td>
|
167
|
+
<td style="background-color: #bfb;">true</td>
|
168
|
+
</tr>
|
169
|
+
<tr>
|
170
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_send before_send}</td>
|
171
|
+
<td>
|
172
|
+
<code>create_event_methods :send, :before, :on</code>
|
173
|
+
</td>
|
174
|
+
<td style="background-color: #bfb;">true</td>
|
175
|
+
<td style="background-color: #bfb;">true</td>
|
176
|
+
</tr>
|
177
|
+
<tr>
|
178
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_subscribe before_subscribe}</td>
|
179
|
+
<td>
|
180
|
+
<code>create_event_methods :subscribe, :before, :on</code>
|
181
|
+
</td>
|
182
|
+
<td style="background-color: #bfb;">true</td>
|
183
|
+
<td style="background-color: #bfb;">true</td>
|
184
|
+
</tr>
|
185
|
+
<tr>
|
186
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_transmitting before_transmitting}</td>
|
187
|
+
<td>
|
188
|
+
<code>create_event_methods :transmitting, :before, :after</code>
|
189
|
+
</td>
|
190
|
+
<td style="background-color: #bfb;">true</td>
|
191
|
+
<td style="background-color: #bfb;">true</td>
|
192
|
+
</tr>
|
193
|
+
<tr>
|
194
|
+
<td>{OnStomp::Interfaces::ClientEvents#before_unsubscribe before_unsubscribe}</td>
|
195
|
+
<td>
|
196
|
+
<code>create_event_methods :unsubscribe, :before, :on</code>
|
197
|
+
</td>
|
198
|
+
<td style="background-color: #bfb;">true</td>
|
199
|
+
<td style="background-color: #bfb;">true</td>
|
200
|
+
</tr>
|
201
|
+
<tr>
|
202
|
+
<td>{OnStomp::Interfaces::FrameMethods#begin begin}</td>
|
203
|
+
<td>
|
204
|
+
<code>begin(tx_id, headers={})</code>
|
205
|
+
</td>
|
206
|
+
<td style="background-color: #bfb;">true</td>
|
207
|
+
<td style="background-color: #bfb;">true</td>
|
208
|
+
</tr>
|
209
|
+
<tr>
|
210
|
+
<td>{OnStomp::Client#close! close!}</td>
|
211
|
+
<td>
|
212
|
+
<code>close!( )</code>
|
213
|
+
</td>
|
214
|
+
<td style="background-color: #bfb;">true</td>
|
215
|
+
<td style="background-color: #bfb;">true</td>
|
216
|
+
</tr>
|
217
|
+
<tr>
|
218
|
+
<td>{OnStomp::Interfaces::FrameMethods#commit commit}</td>
|
219
|
+
<td>
|
220
|
+
<code>commit(tx_id, headers={})</code>
|
221
|
+
</td>
|
222
|
+
<td style="background-color: #bfb;">true</td>
|
223
|
+
<td style="background-color: #bfb;">true</td>
|
224
|
+
</tr>
|
225
|
+
<tr>
|
226
|
+
<td>{OnStomp::Client#connect connect}</td>
|
227
|
+
<td>
|
228
|
+
<code>connect(headers={})</code>
|
229
|
+
</td>
|
230
|
+
<td style="background-color: #bfb;">true</td>
|
231
|
+
<td style="background-color: #bfb;">true</td>
|
232
|
+
</tr>
|
233
|
+
<tr>
|
234
|
+
<td>{OnStomp::Client#connected? connected?}</td>
|
235
|
+
<td>
|
236
|
+
<code>connected?( )</code>
|
237
|
+
</td>
|
238
|
+
<td style="background-color: #bfb;">true</td>
|
239
|
+
<td style="background-color: #bfb;">true</td>
|
240
|
+
</tr>
|
241
|
+
<tr>
|
242
|
+
<td>{OnStomp::Client#disconnect disconnect}</td>
|
243
|
+
<td>
|
244
|
+
<code>disconnect_with_flush(headers={})</code>
|
245
|
+
</td>
|
246
|
+
<td style="background-color: #bfb;">true</td>
|
247
|
+
<td style="background-color: #bfb;">true</td>
|
248
|
+
</tr>
|
249
|
+
<tr>
|
250
|
+
<td>{OnStomp::Interfaces::FrameMethods#disconnect disconnect}</td>
|
251
|
+
<td>
|
252
|
+
<code>disconnect(headers={})</code>
|
253
|
+
</td>
|
254
|
+
<td style="background-color: #bfb;">true</td>
|
255
|
+
<td style="background-color: #bfb;">true</td>
|
256
|
+
</tr>
|
257
|
+
<tr>
|
258
|
+
<td>{OnStomp::Client#disconnect_with_flush disconnect_with_flush}</td>
|
259
|
+
<td>
|
260
|
+
<code>disconnect_with_flush(headers={})</code>
|
261
|
+
</td>
|
262
|
+
<td style="background-color: #bfb;">true</td>
|
263
|
+
<td style="background-color: #bfb;">true</td>
|
264
|
+
</tr>
|
265
|
+
<tr>
|
266
|
+
<td>{OnStomp::Client#initialize initialize}</td>
|
267
|
+
<td>
|
268
|
+
<code>initialize(uri, options={})</code>
|
269
|
+
</td>
|
270
|
+
<td style="background-color: #bfb;">true</td>
|
271
|
+
<td style="background-color: #bfb;">true</td>
|
272
|
+
</tr>
|
273
|
+
<tr>
|
274
|
+
<td>{OnStomp::Interfaces::FrameMethods#nack nack}</td>
|
275
|
+
<td>
|
276
|
+
<code>nack(message_id, subscription_id, heders={})</code>
|
277
|
+
</td>
|
278
|
+
<td style="background-color: #fbb;">false</td>
|
279
|
+
<td style="background-color: #bfb;">true</td>
|
280
|
+
</tr>
|
281
|
+
<tr>
|
282
|
+
<td>{OnStomp::Interfaces::FrameMethods#nack nack}</td>
|
283
|
+
<td>
|
284
|
+
<code>nack(message_frame, headers={})</code>
|
285
|
+
</td>
|
286
|
+
<td style="background-color: #fbb;">false</td>
|
287
|
+
<td style="background-color: #bfb;">true</td>
|
288
|
+
</tr>
|
289
|
+
<tr>
|
290
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_abort on_abort}</td>
|
291
|
+
<td>
|
292
|
+
<code>create_event_methods :abort, :before, :on</code>
|
293
|
+
</td>
|
294
|
+
<td style="background-color: #bfb;">true</td>
|
295
|
+
<td style="background-color: #bfb;">true</td>
|
296
|
+
</tr>
|
297
|
+
<tr>
|
298
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_ack on_ack}</td>
|
299
|
+
<td>
|
300
|
+
<code>create_event_methods :ack, :before, :on</code>
|
301
|
+
</td>
|
302
|
+
<td style="background-color: #bfb;">true</td>
|
303
|
+
<td style="background-color: #bfb;">true</td>
|
304
|
+
</tr>
|
305
|
+
<tr>
|
306
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_begin on_begin}</td>
|
307
|
+
<td>
|
308
|
+
<code>create_event_methods :begin, :before, :on</code>
|
309
|
+
</td>
|
310
|
+
<td style="background-color: #bfb;">true</td>
|
311
|
+
<td style="background-color: #bfb;">true</td>
|
312
|
+
</tr>
|
313
|
+
<tr>
|
314
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_broker_beat on_broker_beat}</td>
|
315
|
+
<td>
|
316
|
+
<code>create_event_methods :broker_beat, :before, :on</code>
|
317
|
+
</td>
|
318
|
+
<td style="background-color: #fbb;">false</td>
|
319
|
+
<td style="background-color: #bfb;">true</td>
|
320
|
+
</tr>
|
321
|
+
<tr>
|
322
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_client_beat on_client_beat}</td>
|
323
|
+
<td>
|
324
|
+
<code>create_event_methods :client_beat, :before, :on</code>
|
325
|
+
</td>
|
326
|
+
<td style="background-color: #fbb;">false</td>
|
327
|
+
<td style="background-color: #bfb;">true</td>
|
328
|
+
</tr>
|
329
|
+
<tr>
|
330
|
+
<td>{OnStomp::Interfaces::ConnectionEvents#on_closed on_closed}</td>
|
331
|
+
<td>
|
332
|
+
<code>create_event_methods :closed, :on</code>
|
333
|
+
</td>
|
334
|
+
<td style="background-color: #bfb;">true</td>
|
335
|
+
<td style="background-color: #bfb;">true</td>
|
336
|
+
</tr>
|
337
|
+
<tr>
|
338
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_commit on_commit}</td>
|
339
|
+
<td>
|
340
|
+
<code>create_event_methods :commit, :before, :on</code>
|
341
|
+
</td>
|
342
|
+
<td style="background-color: #bfb;">true</td>
|
343
|
+
<td style="background-color: #bfb;">true</td>
|
344
|
+
</tr>
|
345
|
+
<tr>
|
346
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_connect on_connect}</td>
|
347
|
+
<td>
|
348
|
+
<code>create_event_methods :connect, :on</code>
|
349
|
+
</td>
|
350
|
+
<td style="background-color: #bfb;">true</td>
|
351
|
+
<td style="background-color: #bfb;">true</td>
|
352
|
+
</tr>
|
353
|
+
<tr>
|
354
|
+
<td>{OnStomp::Interfaces::ConnectionEvents#on_died on_died}</td>
|
355
|
+
<td>
|
356
|
+
<code>create_event_methods :died, :on</code>
|
357
|
+
</td>
|
358
|
+
<td style="background-color: #fbb;">false</td>
|
359
|
+
<td style="background-color: #bfb;">true</td>
|
360
|
+
</tr>
|
361
|
+
<tr>
|
362
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_disconnect on_disconnect}</td>
|
363
|
+
<td>
|
364
|
+
<code>create_event_methods :disconnect, :before, :on</code>
|
365
|
+
</td>
|
366
|
+
<td style="background-color: #bfb;">true</td>
|
367
|
+
<td style="background-color: #bfb;">true</td>
|
368
|
+
</tr>
|
369
|
+
<tr>
|
370
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_error on_error}</td>
|
371
|
+
<td>
|
372
|
+
<code>create_event_methods :error, :before, :on</code>
|
373
|
+
</td>
|
374
|
+
<td style="background-color: #bfb;">true</td>
|
375
|
+
<td style="background-color: #bfb;">true</td>
|
376
|
+
</tr>
|
377
|
+
<tr>
|
378
|
+
<td>{OnStomp::Interfaces::ConnectionEvents#on_established on_established}</td>
|
379
|
+
<td>
|
380
|
+
<code>create_event_methods :established, :on</code>
|
381
|
+
</td>
|
382
|
+
<td style="background-color: #bfb;">true</td>
|
383
|
+
<td style="background-color: #bfb;">true</td>
|
384
|
+
</tr>
|
385
|
+
<tr>
|
386
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_message on_message}</td>
|
387
|
+
<td>
|
388
|
+
<code>create_event_methods :message, :before, :on</code>
|
389
|
+
</td>
|
390
|
+
<td style="background-color: #bfb;">true</td>
|
391
|
+
<td style="background-color: #bfb;">true</td>
|
392
|
+
</tr>
|
393
|
+
<tr>
|
394
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_nack on_nack}</td>
|
395
|
+
<td>
|
396
|
+
<code>create_event_methods :nack, :before, :on</code>
|
397
|
+
</td>
|
398
|
+
<td style="background-color: #fbb;">false</td>
|
399
|
+
<td style="background-color: #bfb;">true</td>
|
400
|
+
</tr>
|
401
|
+
<tr>
|
402
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_receipt on_receipt}</td>
|
403
|
+
<td>
|
404
|
+
<code>create_event_methods :receipt, :before, :on</code>
|
405
|
+
</td>
|
406
|
+
<td style="background-color: #bfb;">true</td>
|
407
|
+
<td style="background-color: #bfb;">true</td>
|
408
|
+
</tr>
|
409
|
+
<tr>
|
410
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_send on_send}</td>
|
411
|
+
<td>
|
412
|
+
<code>create_event_methods :send, :before, :on</code>
|
413
|
+
</td>
|
414
|
+
<td style="background-color: #bfb;">true</td>
|
415
|
+
<td style="background-color: #bfb;">true</td>
|
416
|
+
</tr>
|
417
|
+
<tr>
|
418
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_subscribe on_subscribe}</td>
|
419
|
+
<td>
|
420
|
+
<code>create_event_methods :subscribe, :before, :on</code>
|
421
|
+
</td>
|
422
|
+
<td style="background-color: #bfb;">true</td>
|
423
|
+
<td style="background-color: #bfb;">true</td>
|
424
|
+
</tr>
|
425
|
+
<tr>
|
426
|
+
<td>{OnStomp::Interfaces::ConnectionEvents#on_terminated on_terminated}</td>
|
427
|
+
<td>
|
428
|
+
<code>create_event_methods :terminated, :on</code>
|
429
|
+
</td>
|
430
|
+
<td style="background-color: #bfb;">true</td>
|
431
|
+
<td style="background-color: #bfb;">true</td>
|
432
|
+
</tr>
|
433
|
+
<tr>
|
434
|
+
<td>{OnStomp::Interfaces::ClientEvents#on_unsubscribe on_unsubscribe}</td>
|
435
|
+
<td>
|
436
|
+
<code>create_event_methods :unsubscribe, :before, :on</code>
|
437
|
+
</td>
|
438
|
+
<td style="background-color: #bfb;">true</td>
|
439
|
+
<td style="background-color: #bfb;">true</td>
|
440
|
+
</tr>
|
441
|
+
<tr>
|
442
|
+
<td>{OnStomp::Client#open open}</td>
|
443
|
+
<td>
|
444
|
+
<code>connect(headers={})</code>
|
445
|
+
</td>
|
446
|
+
<td style="background-color: #bfb;">true</td>
|
447
|
+
<td style="background-color: #bfb;">true</td>
|
448
|
+
</tr>
|
449
|
+
<tr>
|
450
|
+
<td>{OnStomp::Interfaces::FrameMethods#puts puts}</td>
|
451
|
+
<td>
|
452
|
+
<code>send(dest, body, headers={}, &cb)</code>
|
453
|
+
</td>
|
454
|
+
<td style="background-color: #bfb;">true</td>
|
455
|
+
<td style="background-color: #bfb;">true</td>
|
456
|
+
</tr>
|
457
|
+
<tr>
|
458
|
+
<td>{OnStomp::Interfaces::FrameMethods#send send}</td>
|
459
|
+
<td>
|
460
|
+
<code>send(dest, body, headers={}, &cb)</code>
|
461
|
+
</td>
|
462
|
+
<td style="background-color: #bfb;">true</td>
|
463
|
+
<td style="background-color: #bfb;">true</td>
|
464
|
+
</tr>
|
465
|
+
<tr>
|
466
|
+
<td>{OnStomp::Interfaces::FrameMethods#subscribe subscribe}</td>
|
467
|
+
<td>
|
468
|
+
<code>subscribe(dest, headers={}, &cb)</code>
|
469
|
+
</td>
|
470
|
+
<td style="background-color: #bfb;">true</td>
|
471
|
+
<td style="background-color: #bfb;">true</td>
|
472
|
+
</tr>
|
473
|
+
<tr>
|
474
|
+
<td>{OnStomp::Interfaces::FrameMethods#unsubscribe unsubscribe}</td>
|
475
|
+
<td>
|
476
|
+
<code>unsubscribe(id, headers={})</code>
|
477
|
+
</td>
|
478
|
+
<td style="background-color: #bfb;">true</td>
|
479
|
+
<td style="background-color: #bfb;">true</td>
|
480
|
+
</tr>
|
481
|
+
<tr>
|
482
|
+
<td>{OnStomp::Interfaces::FrameMethods#unsubscribe unsubscribe}</td>
|
483
|
+
<td>
|
484
|
+
<code>unsubscribe(subscribe_frame, headers={})</code>
|
485
|
+
</td>
|
486
|
+
<td style="background-color: #bfb;">true</td>
|
487
|
+
<td style="background-color: #bfb;">true</td>
|
488
|
+
</tr>
|
489
|
+
</tbody>
|
490
|
+
</table>
|
491
|
+
|