private void partition(Object data) {
		String str = data.toString();
		int seq = 0;

		while (str.length() != 0) {
			Datagram newGram = new Datagram();
			newGram.setDstaddr(desIP);
			newGram.setDstport(desPort);
			newGram.setSrcaddr(srcIP);
			newGram.setSrcport(srcPort);
			
			newGram.setChecksum((short) 0);

			newGram.setSeq(seq);
			newGram.setAck(0);

			if (str.length() >= 1460) {
				newGram.setData((Object) str.substring(0, 1460));
				newGram.setSize((short) 1460);
				str = str.substring(1460);
				seq += 1460;

				newGram.setFrag(true);
			} else {
				newGram.setData((Object) str);
				newGram.setSize((short) str.length());
				str = "";
				seq += str.length();

				newGram.setFrag(false);
			}
			
			Object d = newGram.getData();
			newGram.setChecksum((short) makeChecksum(d));

			readyList.add(newGram);
		}
	}