@RpcMethod public void detachISO(String vmId,boolean isDeleteFile,AsyncMethodCallback<Host.AsyncClient.detach_iso_call> handler) throws RpcException {
  ensureClient();
  DetachISORequest detachISORequest=new DetachISORequest(vmId);
  detachISORequest.setDelete_file(isDeleteFile);
  clientProxy.setTimeout(DETACH_ISO_TIMEOUT_MS);
  logger.info("detach_iso vm {}, target {}, request {}",vmId,getHostIp(),detachISORequest);
  try {
    clientProxy.detach_iso(detachISORequest,handler);
  }
 catch (  TException e) {
    throw new RpcException(e.getMessage());
  }
}

@ RpcMethod public void detachISO ( String vmId , boolean isDeleteFile , AsyncMethodCallback < Host . AsyncClient . detach_iso_call > handler ) throws RpcException { ensureClient ( ) ; DetachISORequest detachISORequest = new DetachISORequest ( vmId ) ; detachISORequest . setDelete_file ( isDeleteFile ) ; clientProxy . setTimeout ( DETACH_ISO_TIMEOUT_MS ) ; logger . info ( "detach_iso vm {}, target {}, request {}" , vmId , getHostIp ( ) , detachISORequest ) ; try { clientProxy . detach_iso ( detachISORequest , handler ) ; } catch ( TException e ) { throw new RpcException ( e . getMessage ( ) ) ; } }
this method performs an asynchronous thrift call to detach an iso from a vm . on completion , the specified handler is invoked .
