code: protected void processReceivedMessage(DatagramPacket packet, byte[] buffer) {
  
  		String received = new String(buffer).trim();
  		String tokens[] = received.split("\\|");
  		if (tokens.length != 3) {
  			logger.warn("Malformed UDP message received (" + received + ")!");
  			return;
  		}
  
  		// Check prefix and nodeID
  		if (!namespace.equals(tokens[0]) || nodeID.equals(tokens[1])) {
  			return;
  		}
  		if (tokens[1].isEmpty()) {
  			logger.warn("Empty nodeID received!");
  			return;
  		}
  
  		// Get source hostname or IP
  		String host;
  		try {
  			InetAddress address = packet.getAddress();
  			if (useHostname) {
  				host = address.getHostName();
  				if (host == null || host.isEmpty() || host.contains("localhost")) {
  					host = address.getHostAddress();
  				}
  			} else {
  				host = address.getHostAddress();
  				if (host == null || host.isEmpty() || host.startsWith("127.")) {
  					host = address.getHostName();
  				}
  			}
  			if (host == null || host.isEmpty()) {
  				logger.warn("Unable to detect sender's hostname!");
  				return;
  			}
  		} catch (Exception cause) {
  			logger.warn("Unable to detect sender's IP address or hostname!", cause);
  			return;
  		}
  		int port = 0;
  		try {
  			port = Integer.parseInt(tokens[2]);
  			if (port < 1) {
  				logger.warn("Invalid port number (" + port + ")!");
  				return;
  			}
  		} catch (Exception cause) {
  			logger.warn("Invalid port number format (" + tokens[2] + ")!");
  			return;
  		}
  
  		// Notify TCP Transporter
  		transporter.udpPacketReceived(tokens[1], host.toLowerCase(), port);
  	}
docs: --- COMMON MESSAGE PROCESSOR ---