1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
8 <title>Module: MCollective::Connector</title>
10 <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
12 <script src="../js/jquery.js" type="text/javascript"
13 charset="utf-8"></script>
14 <script src="../js/thickbox-compressed.js" type="text/javascript"
15 charset="utf-8"></script>
16 <script src="../js/quicksearch.js" type="text/javascript"
17 charset="utf-8"></script>
18 <script src="../js/darkfish.js" type="text/javascript"
19 charset="utf-8"></script>
25 <div id="file-metadata">
26 <div id="file-list-section" class="section">
27 <h3 class="section-header">In Files</h3>
28 <div class="section-body">
31 <li><a href="../lib/mcollective/connector_rb.html?TB_iframe=true&height=550&width=785"
32 class="thickbox" title="lib/mcollective/connector.rb">lib/mcollective/connector.rb</a></li>
34 <li><a href="../lib/mcollective/connector/base_rb.html?TB_iframe=true&height=550&width=785"
35 class="thickbox" title="lib/mcollective/connector/base.rb">lib/mcollective/connector/base.rb</a></li>
44 <div id="class-metadata">
49 <!-- Namespace Contents -->
51 <div id="namespace-list-section" class="section">
52 <h3 class="section-header">Namespace</h3>
53 <ul class="link-list">
55 <li><span class="type">CLASS</span> <a href="Connector/Base.html">MCollective::Connector::Base</a></li>
61 <!-- Method Quickref -->
64 <!-- Included Modules -->
68 <div id="project-metadata">
71 <div id="fileindex-section" class="section project-section">
72 <h3 class="section-header">Files</h3>
75 <li class="file"><a href="../COPYING.html">COPYING</a></li>
77 <li class="file"><a href="../Gemfile.html">Gemfile</a></li>
79 <li class="file"><a href="../README.html">README</a></li>
81 <li class="file"><a href="../Rakefile.html">Rakefile</a></li>
83 <li class="file"><a href="../etc/client_cfg_dist.html">client.cfg.dist</a></li>
85 <li class="file"><a href="../etc/data-help_erb.html">data-help.erb</a></li>
87 <li class="file"><a href="../etc/discovery-help_erb.html">discovery-help.erb</a></li>
89 <li class="file"><a href="../etc/facts_yaml_dist.html">facts.yaml.dist</a></li>
91 <li class="file"><a href="../etc/metadata-help_erb.html">metadata-help.erb</a></li>
93 <li class="file"><a href="../etc/msg-help_erb.html">msg-help.erb</a></li>
95 <li class="file"><a href="../etc/rpc-help_erb.html">rpc-help.erb</a></li>
97 <li class="file"><a href="../etc/server_cfg_dist.html">server.cfg.dist</a></li>
99 <li class="file"><a href="../etc/ssl/PLACEHOLDER.html">PLACEHOLDER</a></li>
101 <li class="file"><a href="../etc/ssl/clients/PLACEHOLDER.html">PLACEHOLDER</a></li>
103 <li class="file"><a href="../lib/mcollective/generators/templates/action_snippet_erb.html">action_snippet.erb</a></li>
105 <li class="file"><a href="../lib/mcollective/generators/templates/data_input_snippet_erb.html">data_input_snippet.erb</a></li>
107 <li class="file"><a href="../lib/mcollective/generators/templates/ddl_erb.html">ddl.erb</a></li>
109 <li class="file"><a href="../lib/mcollective/generators/templates/plugin_erb.html">plugin.erb</a></li>
111 <li class="file"><a href="../lib/mcollective/locales/en_yml.html">en.yml</a></li>
113 <li class="file"><a href="../mcollective_init.html">mcollective.init</a></li>
119 <div id="classindex-section" class="section project-section">
120 <h3 class="section-header">Class Index
121 <span class="search-toggle"><img src="../images/find.png"
122 height="16" width="16" alt="[+]"
123 title="show/hide quicksearch" /></span></h3>
124 <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
126 <legend>Quicksearch</legend>
127 <input type="text" name="quicksearch" value=""
128 class="quicksearch-field" />
132 <ul class="link-list">
134 <li><a href="../MCollective.html">MCollective</a></li>
136 <li><a href="../MCollective/Agent.html">MCollective::Agent</a></li>
138 <li><a href="../MCollective/Agents.html">MCollective::Agents</a></li>
140 <li><a href="../MCollective/Aggregate.html">MCollective::Aggregate</a></li>
142 <li><a href="../MCollective/Aggregate/Base.html">MCollective::Aggregate::Base</a></li>
144 <li><a href="../MCollective/Aggregate/Result.html">MCollective::Aggregate::Result</a></li>
146 <li><a href="../MCollective/Aggregate/Result/Base.html">MCollective::Aggregate::Result::Base</a></li>
148 <li><a href="../MCollective/Aggregate/Result/CollectionResult.html">MCollective::Aggregate::Result::CollectionResult</a></li>
150 <li><a href="../MCollective/Aggregate/Result/NumericResult.html">MCollective::Aggregate::Result::NumericResult</a></li>
152 <li><a href="../MCollective/Application.html">MCollective::Application</a></li>
154 <li><a href="../MCollective/Applications.html">MCollective::Applications</a></li>
156 <li><a href="../MCollective/Cache.html">MCollective::Cache</a></li>
158 <li><a href="../MCollective/Client.html">MCollective::Client</a></li>
160 <li><a href="../MCollective/CodedError.html">MCollective::CodedError</a></li>
162 <li><a href="../MCollective/Config.html">MCollective::Config</a></li>
164 <li><a href="../MCollective/Connector.html">MCollective::Connector</a></li>
166 <li><a href="../MCollective/Connector/Base.html">MCollective::Connector::Base</a></li>
168 <li><a href="../MCollective/DDL.html">MCollective::DDL</a></li>
170 <li><a href="../MCollective/DDL/AgentDDL.html">MCollective::DDL::AgentDDL</a></li>
172 <li><a href="../MCollective/DDL/Base.html">MCollective::DDL::Base</a></li>
174 <li><a href="../MCollective/DDL/DataDDL.html">MCollective::DDL::DataDDL</a></li>
176 <li><a href="../MCollective/DDL/DiscoveryDDL.html">MCollective::DDL::DiscoveryDDL</a></li>
178 <li><a href="../MCollective/DDL/ValidatorDDL.html">MCollective::DDL::ValidatorDDL</a></li>
180 <li><a href="../MCollective/DDLValidationError.html">MCollective::DDLValidationError</a></li>
182 <li><a href="../MCollective/Data.html">MCollective::Data</a></li>
184 <li><a href="../MCollective/Data/Base.html">MCollective::Data::Base</a></li>
186 <li><a href="../MCollective/Data/Result.html">MCollective::Data::Result</a></li>
188 <li><a href="../MCollective/Discovery.html">MCollective::Discovery</a></li>
190 <li><a href="../MCollective/Facts.html">MCollective::Facts</a></li>
192 <li><a href="../MCollective/Facts/Base.html">MCollective::Facts::Base</a></li>
194 <li><a href="../MCollective/Generators.html">MCollective::Generators</a></li>
196 <li><a href="../MCollective/Generators/AgentGenerator.html">MCollective::Generators::AgentGenerator</a></li>
198 <li><a href="../MCollective/Generators/Base.html">MCollective::Generators::Base</a></li>
200 <li><a href="../MCollective/Generators/DataGenerator.html">MCollective::Generators::DataGenerator</a></li>
202 <li><a href="../MCollective/InvalidRPCData.html">MCollective::InvalidRPCData</a></li>
204 <li><a href="../MCollective/Log.html">MCollective::Log</a></li>
206 <li><a href="../MCollective/Logger.html">MCollective::Logger</a></li>
208 <li><a href="../MCollective/Logger/Base.html">MCollective::Logger::Base</a></li>
210 <li><a href="../MCollective/Logger/Console_logger.html">MCollective::Logger::Console_logger</a></li>
212 <li><a href="../MCollective/Logger/File_logger.html">MCollective::Logger::File_logger</a></li>
214 <li><a href="../MCollective/Logger/Syslog_logger.html">MCollective::Logger::Syslog_logger</a></li>
216 <li><a href="../MCollective/Matcher.html">MCollective::Matcher</a></li>
218 <li><a href="../MCollective/Matcher/Parser.html">MCollective::Matcher::Parser</a></li>
220 <li><a href="../MCollective/Matcher/Scanner.html">MCollective::Matcher::Scanner</a></li>
222 <li><a href="../MCollective/Message.html">MCollective::Message</a></li>
224 <li><a href="../MCollective/MissingRPCData.html">MCollective::MissingRPCData</a></li>
226 <li><a href="../MCollective/MsgDoesNotMatchRequestID.html">MCollective::MsgDoesNotMatchRequestID</a></li>
228 <li><a href="../MCollective/MsgTTLExpired.html">MCollective::MsgTTLExpired</a></li>
230 <li><a href="../MCollective/NotTargettedAtUs.html">MCollective::NotTargettedAtUs</a></li>
232 <li><a href="../MCollective/Optionparser.html">MCollective::Optionparser</a></li>
234 <li><a href="../MCollective/PluginManager.html">MCollective::PluginManager</a></li>
236 <li><a href="../MCollective/PluginPackager.html">MCollective::PluginPackager</a></li>
238 <li><a href="../MCollective/PluginPackager/AgentDefinition.html">MCollective::PluginPackager::AgentDefinition</a></li>
240 <li><a href="../MCollective/PluginPackager/StandardDefinition.html">MCollective::PluginPackager::StandardDefinition</a></li>
242 <li><a href="../MCollective/RPC.html">MCollective::RPC</a></li>
244 <li><a href="../MCollective/RPC/ActionRunner.html">MCollective::RPC::ActionRunner</a></li>
246 <li><a href="../MCollective/RPC/Agent.html">MCollective::RPC::Agent</a></li>
248 <li><a href="../MCollective/RPC/Audit.html">MCollective::RPC::Audit</a></li>
250 <li><a href="../MCollective/RPC/Client.html">MCollective::RPC::Client</a></li>
252 <li><a href="../MCollective/RPC/Helpers.html">MCollective::RPC::Helpers</a></li>
254 <li><a href="../MCollective/RPC/Progress.html">MCollective::RPC::Progress</a></li>
256 <li><a href="../MCollective/RPC/Reply.html">MCollective::RPC::Reply</a></li>
258 <li><a href="../MCollective/RPC/Request.html">MCollective::RPC::Request</a></li>
260 <li><a href="../MCollective/RPC/Result.html">MCollective::RPC::Result</a></li>
262 <li><a href="../MCollective/RPC/Stats.html">MCollective::RPC::Stats</a></li>
264 <li><a href="../MCollective/RPCAborted.html">MCollective::RPCAborted</a></li>
266 <li><a href="../MCollective/RPCError.html">MCollective::RPCError</a></li>
268 <li><a href="../MCollective/Registration.html">MCollective::Registration</a></li>
270 <li><a href="../MCollective/Registration/Base.html">MCollective::Registration::Base</a></li>
272 <li><a href="../MCollective/Runner.html">MCollective::Runner</a></li>
274 <li><a href="../MCollective/RunnerStats.html">MCollective::RunnerStats</a></li>
276 <li><a href="../MCollective/SSL.html">MCollective::SSL</a></li>
278 <li><a href="../MCollective/Security.html">MCollective::Security</a></li>
280 <li><a href="../MCollective/Security/Base.html">MCollective::Security::Base</a></li>
282 <li><a href="../MCollective/SecurityValidationFailed.html">MCollective::SecurityValidationFailed</a></li>
284 <li><a href="../MCollective/Shell.html">MCollective::Shell</a></li>
286 <li><a href="../MCollective/Translatable.html">MCollective::Translatable</a></li>
288 <li><a href="../MCollective/UnixDaemon.html">MCollective::UnixDaemon</a></li>
290 <li><a href="../MCollective/UnknownRPCAction.html">MCollective::UnknownRPCAction</a></li>
292 <li><a href="../MCollective/UnknownRPCError.html">MCollective::UnknownRPCError</a></li>
294 <li><a href="../MCollective/Util.html">MCollective::Util</a></li>
296 <li><a href="../MCollective/Validator.html">MCollective::Validator</a></li>
298 <li><a href="../MCollective/ValidatorError.html">MCollective::ValidatorError</a></li>
300 <li><a href="../MCollective/WindowsDaemon.html">MCollective::WindowsDaemon</a></li>
302 <li><a href="../Array.html">Array</a></li>
304 <li><a href="../Dir.html">Dir</a></li>
306 <li><a href="../Object.html">Object</a></li>
308 <li><a href="../String.html">String</a></li>
310 <li><a href="../Symbol.html">Symbol</a></li>
313 <div id="no-class-search-results" style="display: none;">No matching classes.</div>
320 <div id="documentation">
321 <h1 class="module">MCollective::Connector</h1>
323 <div id="description">
325 Connectors take care of transporting messages between clients and agents,
326 the design doesn’t your middleware to be very rich in features. All
327 it really needs is the ability to send and receive messages to named
331 At present there are assumptions about the naming of topics and queues that
332 is compatible with Stomp, ie.
335 /topic/foo.bar/baz /queue/foo.bar/baz
338 This is the only naming format that is supported, but you could replace
339 Stomp with something else that supports the above, see
340 MCollective::Connector::Stomp for the default connector.
342 <hr size="1"></hr><p>
343 <a href="Connector.html">Connector</a> plugins handle the communications
344 with the middleware, you can provide your own to speak to something other
345 than Stomp, your plugins must inherit from <a
346 href="Connector/Base.html">MCollective::Connector::Base</a> and should
347 provide the following methods:
350 connect - Creates a connection to the middleware, no arguments should get
351 its parameters from the config receive - Receive data from the middleware,
352 should act like a blocking call only returning if/when data
355 was received. It should get data from all subscribed channels/topics. Individual messages
356 should be returned as MCollective::Request objects with the payload provided
359 publish - Takes a target and msg, should send the message to the supplied
360 target topic or destination subscribe - Adds a subscription to a specific
361 message source unsubscribe - Removes a subscription to a specific message
362 source disconnect - Disconnects from the middleware
365 These methods are all that’s needed for a new connector protocol and
366 should hopefully be simple enough to not have tied us to Stomp.
383 <div id="rdoc-debugging-section-dump" class="debugging-section">
385 <p>Disabled; run with --debug to generate this.</p>
389 <div id="validator-badges">
390 <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
391 <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
392 Rdoc Generator</a> 1.1.6</small>.</p>