Commit e2ff5af0b9aeb84dd3c9ca56f2fc8eae01e2bc37

Authored by Cédric RICARD
1 parent cf51ddb0

- Improved NetService generic client with 'timestamp' value passed to handler functions

- Add _CXM_DOMAIN_COMMAND_RESULT message
calexium_lib/CXM_message_constants.anubis
... ... @@ -73,6 +73,7 @@ public define Word32 _CXM_DOMAIN_PUBLISH_DYN_TEST = 0x33771C06.
73 73 public define Word32 _CXM_DOMAIN_GET_STATUS = 0x33771C07.
74 74 public define Word32 _CXM_DOMAIN_GET_DOMAIN_INFO = 0x33771C08.
75 75 public define Word32 _CXM_DOMAIN_CRITICAL_ALERT = 0x33771C09.
  76 +public define Word32 _CXM_DOMAIN_COMMAND_RESULT = 0x33771C0A.
76 77  
77 78  
78 79 // DomainManager <-> Gandi
... ...
calexium_lib/net_services/CXM_generic_client.anubis
... ... @@ -70,9 +70,10 @@ public define Maybe($T)
70 70 simple_handler
71 71 (
72 72 MessageQueue queue,
  73 + String timestamp,
73 74 Int timeout,
74 75 Message msg_to_send,
75   - (Message) -> Maybe($T) handler,
  76 + (Message, MessageQueue, String) -> Maybe($T) handler,
76 77 (String) -> One logger
77 78 ) =
78 79 if generic_send_message(queue, msg_to_send, timeout, logger) is
... ... @@ -88,7 +89,7 @@ public define Maybe($T)
88 89 if mb_msg is
89 90 {
90 91 failure then logger("["+queue.get_name(unique)+"]: can't find RESULT message."); failure,
91   - success(result) then handler(result)
  92 + success(result) then handler(result, queue, timestamp)
92 93 }
93 94 }
94 95 }.
... ... @@ -125,11 +126,11 @@ public define (MessageQueue, String) -&gt; Maybe($T)
125 126 (
126 127 Int timeout,
127 128 Message msg_to_send,
128   - (Message) -> Maybe($T) handler,
  129 + (Message, MessageQueue, String) -> Maybe($T) handler,
129 130 (String) -> One logger
130 131 ) =
131 132 (MessageQueue queue, String timestamp) |->
132   - simple_handler(queue, timeout, msg_to_send, handler, logger).
  133 + simple_handler(queue, timestamp, timeout, msg_to_send, handler, logger).
133 134  
134 135 define Maybe($T)
135 136 generic_request_for_service
... ... @@ -186,11 +187,13 @@ public define Maybe($T)
186 187 {
187 188 error(_) then logger(queue_name + ": Can't connect to domain manager ["+ip_addr_to_string(server)+":"+port+"]");failure,
188 189 ok(conn) then
  190 + println("[" + virtual_machine_id + "] netservices create queue");
189 191 with queue = create_MessageQueue(queue_name),
190 192 message_transceiver(tcp(conn), queue);
  193 + println("[" + virtual_machine_id + "] netservices generic_request_for_service()");
191 194 with result = generic_request_for_service(queue, service_id, service_version, handler, logger),
  195 + println("[" + virtual_machine_id + "] netservices client quit");
192 196 queue.quit(unique);
193   - //logInfo(debug_log,"domain_manager client quit");
194 197 result
195 198 }.
196 199  
... ...