pack[1] = Integer.valueOf(msg); sendNow(req_source, tag, pack);
data[1] = Integer.valueOf(-1); // no sender id data[2] = Integer.valueOf(msg); // the result of adding a master file sendNow(sentFrom, DataCloudTags.FILE_ADD_MASTER_RESULT, data);
/** * Processes a ping request. * * @param ev information about the event just happened * * @pre ev != null * @post $none */ protected void processPingRequest(SimEvent ev) { InfoPacket pkt = (InfoPacket) ev.getData(); pkt.setTag(CloudSimTags.INFOPKT_RETURN); pkt.setDestId(pkt.getSrcId()); // sends back to the sender sendNow(pkt.getSrcId(), CloudSimTags.INFOPKT_RETURN, pkt); }
/** * Processes a Cloudlet cancel request. * * @param cloudletId ID of the cloudlet to be canceled * @param userId ID of the cloudlet's owner * @param vmId the id of the VM where the cloudlet has to be canceled * * @pre $none * @post $none */ protected void processCloudletCancel(int cloudletId, int userId, int vmId) { Cloudlet cl = getVmAllocationPolicy().getHost(vmId, userId).getVm(vmId,userId) .getCloudletScheduler().cloudletCancel(cloudletId); sendNow(userId, CloudSimTags.CLOUDLET_CANCEL, cl); }
/** * Verifies if some cloudlet inside this Datacenter already finished. * If yes, send it to the User/Broker * * @pre $none * @post $none */ protected void checkCloudletCompletion() { List<? extends Host> list = getVmAllocationPolicy().getHostList(); for (int i = 0; i < list.size(); i++) { Host host = list.get(i); for (Vm vm : host.getVmList()) { while (vm.getCloudletScheduler().isFinishedCloudlets()) { Cloudlet cl = vm.getCloudletScheduler().getNextFinishedCloudlet(); if (cl != null) { sendNow(cl.getUserId(), CloudSimTags.CLOUDLET_RETURN, cl); } } } } }
@Override public void startEntity() { Log.printConcatLine(getName(), " is starting..."); // this resource should register to regional CIS. // However, if not specified, then register to system CIS (the // default CloudInformationService) entity. int gisID = CloudSim.getEntityId(regionalCisName); if (gisID == -1) { gisID = CloudSim.getCloudInfoServiceEntityId(); } // send the registration to CIS sendNow(gisID, CloudSimTags.REGISTER_RESOURCE, getId()); // Below method is for a child class to override registerOtherEntity(); }
/** * Process the event for an User/Broker who wants to destroy a VM previously created in this * Datacenter. This Datacenter may send, upon request, the status back to the * User/Broker. * * @param ev information about the event just happened * @param ack indicates if the event's sender expects to receive * an acknowledge message when the event finishes to be processed * * @pre ev != null * @post $none */ protected void processVmDestroy(SimEvent ev, boolean ack) { Vm vm = (Vm) ev.getData(); getVmAllocationPolicy().deallocateHostForVm(vm); if (ack) { int[] data = new int[3]; data[0] = getId(); data[1] = vm.getId(); data[2] = CloudSimTags.TRUE; sendNow(vm.getUserId(), CloudSimTags.VM_DESTROY_ACK, data); } getVmList().remove(vm); }
/** * Processes a Cloudlet pause request. * * @param cloudletId ID of the cloudlet to be paused * @param userId ID of the cloudlet's owner * @param ack indicates if the event's sender expects to receive * an acknowledge message when the event finishes to be processed * @param vmId the id of the VM where the cloudlet has to be paused * * @pre $none * @post $none */ protected void processCloudletPause(int cloudletId, int userId, int vmId, boolean ack) { boolean status = getVmAllocationPolicy().getHost(vmId, userId).getVm(vmId,userId) .getCloudletScheduler().cloudletPause(cloudletId); if (ack) { int[] data = new int[3]; data[0] = getId(); data[1] = cloudletId; if (status) { data[2] = CloudSimTags.TRUE; } else { data[2] = CloudSimTags.FALSE; } sendNow(userId, CloudSimTags.CLOUDLET_PAUSE_ACK, data); } }
data[2] = CloudSimTags.FALSE; sendNow(ev.getSource(), CloudSimTags.VM_CREATE_ACK, data);
data[1] = cloudletId; data[2] = 0; sendNow(cl.getUserId(), CloudSimTags.CLOUDLET_SUBMIT_ACK, data); sendNow(cl.getUserId(), CloudSimTags.CLOUDLET_RETURN, cl); int tag = ((type == CloudSimTags.CLOUDLET_MOVE_ACK) ? CloudSimTags.CLOUDLET_SUBMIT_ACK : CloudSimTags.CLOUDLET_SUBMIT); sendNow(destId, tag, cl); data[2] = 1; sendNow(cl.getUserId(), CloudSimTags.CLOUDLET_SUBMIT_ACK, data);
data[2] = CloudSimTags.FALSE; sendNow(userId, CloudSimTags.CLOUDLET_RESUME_ACK, data);
sendNow(srcId, ev.getTag(), getCharacteristics()); break; sendNow(srcId, ev.getTag(), 0); break; srcId = ((Integer) ev.getData()).intValue(); int numPE = getCharacteristics().getNumberOfPes(); sendNow(srcId, ev.getTag(), numPE); break; srcId = ((Integer) ev.getData()).intValue(); int freePesNumber = getCharacteristics().getNumberOfFreePes(); sendNow(srcId, ev.getTag(), freePesNumber); break;
sendNow(userId, tag, array);