public HelloMessage(ByteBuffer message)
	{
		byte[] byteAddress = new byte[4];
		if (message.get() == MessageThread.helloType) {
			message.get();
			message.get();
			message.get();
			//Getting source address
			for (int j = 0; j<4; j++) {
				byteAddress[j] = message.get();
			}
			sourceAddress =	new IP(byteAddress);
			//Heard neighbors listing
			numberOfHeard = message.get();
			message.get();
			message.get();
			message.get();
			heardNeighbors = new LinkedList<IP>();
			for (int i = 0; i<numberOfHeard; i++) {
				for (int j = 0; j<4; j++) {
					byteAddress[j] = message.get();
				}
				heardNeighbors.add(new IP(byteAddress));
			}
			//Symmetric neighbors listing
			numberOfSymmetric = message.get();
			message.get();
			message.get();
			message.get();
			symmetricNeighbors = new LinkedList<IP>();
			for (int i = 0; i<numberOfSymmetric; i++) {
				for (int j = 0; j<4; j++) {
					byteAddress[j] = message.get();
				}
				symmetricNeighbors.add(new IP(byteAddress));
			}
		}
		else throw new WrongMessageType();
	}