| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ReceiveConfigurationRequestLeave (NamedValueTree nvt_i, NamedValue body_i, LibDEF_IntegrationEvent event_i) | 
| { | 
|   Description: 'Receive Configuration message for requesting to leave domain.' | 
|   TextBody: | 
|   [* | 
|     // Jacky CHAN Apr-22-2016 (created) | 
|     LibDEF_Util::EventLog( event_i, "Receiving leave request" ); | 
|      | 
|     // retrieve requestor's guid | 
|     systemGUID := LibDEF_DataAccessor::GetHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_SYSTEMGUID_FROM() ); | 
|      | 
|     // find System with matching host and port | 
|     leavingSystem := LibDEF_System::FindSystemByGUID( this, systemGUID ); | 
|      | 
|     if( not isnull( leavingSystem ) ) | 
|     { | 
|       // reply with success | 
|       this.SendConfigurationSuccessLeave( leavingSystem, event_i ); | 
|      | 
|       leavingSystem.Delete(); | 
|     } | 
|      | 
|     // inform other systems | 
|     peers := this.GetOtherPeers( false ); | 
|     if( peers.Size() > 0 ) | 
|     { | 
|       this.SendConfigurationSuccessCopyRoutingTable( peers ); | 
|     } | 
|   *] | 
| } |