protected void match(MessageAsk ask, MessageBid bid, double price){
		synchronized(syncStep){ 
		
			//	sends message to the auctioneer informing about the match
			if(ask!=null){
				LinkedList mat = new LinkedList();
				mat.add(ask);
				mat.add(bid);
				mat.add(new Double(price));
				super.send(super.getAuctioneerID(), GridSimTags.SCHEDULE_NOW,
						AuctionTags.AUCTION_MATCH_TO_ASK, mat);
			}
			
			if(bid!=null){
				int winner = -1; // = nobody
				if(ask != null){
					winner = bid.getBidder();
				}
				MessageInformOutcome iout = new MessageInformOutcome(
					super.getAuctionID(), super.getAuctionProtocol(), 
					winner, price);

				/* TODO:
				 * For now, we are assuming that every message has a size of about 100 bytes.
				 * It would be better to consider some FIPA's encoding schema, for example.
				 * Please see: www.fipa.org
				 */
				super.sim_schedule(super.getOutputPort(),GridSimTags.SCHEDULE_NOW, 
	    				AuctionTags.AUCTION_INFORM_OUTCOME, new IO_data(iout,100,bid.getBidder()));
			}
		}
	}