Revision 258a439a
Added by Marc Dequènes about 13 years ago
- ID 258a439a59e2be7ce7dcb2e68acf3b744e01f91f
lib/cyborghood/cyborg/botnet/protocol.rb | ||
---|---|---|
@conversation.bot.schedule_task do
|
||
begin
|
||
@conversation.bot.interface._call(message.conv_thread.session,
|
||
message.action_parameters[:node],
|
||
message.action_parameters[:parameters],
|
||
&process_result_cb)
|
||
message.action_parameters[:environment],
|
||
message.action_parameters[:node],
|
||
message.action_parameters[:parameters],
|
||
&process_result_cb)
|
||
rescue CyberError => e
|
||
process_result_cb.call(:errors => [{
|
||
:category => e.category,
|
||
... | ... | |
:message => "missing parameters"
|
||
})
|
||
end
|
||
|
||
send_reply_ack(message)
|
||
|
||
@conversation.bot.schedule_task(@@request_callback) do
|
||
{
|
||
:reply_message => message,
|
||
:results => @conversation.bot.interface._is_node?(message.conv_thread.session, message.action_parameters[:node])
|
||
:results => @conversation.bot.interface._is_node?(message.conv_thread.session,
|
||
message.action_parameters[:environment],
|
||
message.action_parameters[:node])
|
||
}
|
||
end
|
||
end
|
||
... | ... | |
@conversation.thread('system').new_message("REQUEST EXISTS", { :node => node }).send
|
||
end
|
||
|
||
def send_request_call(conv_thread, node, *parameters, &callback)
|
||
message = conv_thread.new_message("REQUEST CALL", { :node => node, :parameters => parameters }).send
|
||
def send_request_call(conv_thread, env, node, *parameters, &callback)
|
||
message = conv_thread.new_message("REQUEST CALL", {
|
||
:node => node,
|
||
:parameters => parameters,
|
||
:environment => env
|
||
}).send
|
||
message.register_callback(callback)
|
||
end
|
||
|
||
def send_request_exists(conv_thread, node, &callback)
|
||
message = conv_thread.new_message("REQUEST EXISTS", { :node => node }).send
|
||
def send_request_exists(conv_thread, env, node, &callback)
|
||
message = conv_thread.new_message("REQUEST EXISTS", {
|
||
:node => node,
|
||
:environment => env
|
||
}).send
|
||
message.register_callback(callback)
|
||
end
|
||
|
||
def send_request_describe(conv_thread, node)
|
||
message = conv_thread.new_message("REQUEST DESCRIBE", { :node => node }).send
|
||
def send_request_describe(conv_thread, env, node)
|
||
message = conv_thread.new_message("REQUEST DESCRIBE", {
|
||
:node => node,
|
||
:environment => env
|
||
}).send
|
||
message.register_callback(callback)
|
||
end
|
||
|
Also available in: Unified diff
[evol] Botnet: propagate API calls environment (user token and language prefs at the moment), propagate session a bit further too in order to implement a more dynamic API tree