@Override
	public void recvDropOfferReq(String buyer, String serviceName) {
		// get service's status and properly update the service list
		String status = user.getUserServiceStatus(serviceName, buyer);
		
		loggerGui.info(user.getUsername() + "received drop offer packet for service " +
				serviceName + " from buyer " + buyer + " (current status is " +
				status + ")");
		
		switch (status) {
			case StatusMessages.noOffer:
				user.removeUserFromService(buyer, serviceName);
				break;
			case StatusMessages.offerMade:
				user.updateStatus(serviceName, buyer, StatusMessages.offerRefused);
				break;
			case StatusMessages.transferStarted:
				user.updateStatus(serviceName, buyer, StatusMessages.transferFailed);
				break;
			case StatusMessages.transferInProgress:
				user.updateStatus(serviceName, buyer, StatusMessages.transferFailed);
				break;
			default:
				break;
		}
		
		// update GUI
		GUI.repaintUserTable();
	}