diff --git a/calexium_lib/CXM_message_constants.anubis b/calexium_lib/CXM_message_constants.anubis index a003d37..0a475f8 100644 --- a/calexium_lib/CXM_message_constants.anubis +++ b/calexium_lib/CXM_message_constants.anubis @@ -73,6 +73,7 @@ public define Word32 _CXM_DOMAIN_PUBLISH_DYN_TEST = 0x33771C06. public define Word32 _CXM_DOMAIN_GET_STATUS = 0x33771C07. public define Word32 _CXM_DOMAIN_GET_DOMAIN_INFO = 0x33771C08. public define Word32 _CXM_DOMAIN_CRITICAL_ALERT = 0x33771C09. +public define Word32 _CXM_DOMAIN_COMMAND_RESULT = 0x33771C0A. // DomainManager <-> Gandi diff --git a/calexium_lib/net_services/CXM_generic_client.anubis b/calexium_lib/net_services/CXM_generic_client.anubis index 744d505..568335c 100644 --- a/calexium_lib/net_services/CXM_generic_client.anubis +++ b/calexium_lib/net_services/CXM_generic_client.anubis @@ -70,9 +70,10 @@ public define Maybe($T) simple_handler ( MessageQueue queue, + String timestamp, Int timeout, Message msg_to_send, - (Message) -> Maybe($T) handler, + (Message, MessageQueue, String) -> Maybe($T) handler, (String) -> One logger ) = if generic_send_message(queue, msg_to_send, timeout, logger) is @@ -88,7 +89,7 @@ public define Maybe($T) if mb_msg is { failure then logger("["+queue.get_name(unique)+"]: can't find RESULT message."); failure, - success(result) then handler(result) + success(result) then handler(result, queue, timestamp) } } }. @@ -125,11 +126,11 @@ public define (MessageQueue, String) -> Maybe($T) ( Int timeout, Message msg_to_send, - (Message) -> Maybe($T) handler, + (Message, MessageQueue, String) -> Maybe($T) handler, (String) -> One logger ) = (MessageQueue queue, String timestamp) |-> - simple_handler(queue, timeout, msg_to_send, handler, logger). + simple_handler(queue, timestamp, timeout, msg_to_send, handler, logger). define Maybe($T) generic_request_for_service @@ -186,11 +187,13 @@ public define Maybe($T) { error(_) then logger(queue_name + ": Can't connect to domain manager ["+ip_addr_to_string(server)+":"+port+"]");failure, ok(conn) then + println("[" + virtual_machine_id + "] netservices create queue"); with queue = create_MessageQueue(queue_name), message_transceiver(tcp(conn), queue); + println("[" + virtual_machine_id + "] netservices generic_request_for_service()"); with result = generic_request_for_service(queue, service_id, service_version, handler, logger), + println("[" + virtual_machine_id + "] netservices client quit"); queue.quit(unique); - //logInfo(debug_log,"domain_manager client quit"); result }. -- libgit2 0.21.4