public boolean canSendNextPacket() {
		if (timeStampNow - lastZeroWindow > getTimeOutMicros() && lastZeroWindow != 0 && maxWindow == 0) {
			log.debug("setting window to one packet size. current window is:" + currentWindow);
			maxWindow = MAX_PACKET_SIZE;
		}
		boolean windowNotFull = !isWondowFull();
		boolean burstFull = false;
		
		if (windowNotFull) {
			burstFull = isBurstFull();
		}
		
		if (!burstFull && windowNotFull) {
			currentBurstSend++;
		} 
		
		if (burstFull) {
			currentBurstSend = 0;
		}
		return SEND_IN_BURST ? (!burstFull && windowNotFull) : windowNotFull;
	}