// send message directly to the peer with the given peer address
FutureDirect futureDirect = networkManager.getConnection().getPeer()
.sendDirect(message.getTargetAddress()).setObject(encryptedMessage).start();
// attach a future listener to log, handle and notify events
FutureDirectListener listener = new FutureDirectListener(message, targetPublicKey, this);
futureDirect.addListener(listener);
boolean success = listener.await();
if (success) {
logger.debug("Message (direct) sent. Message ID = '{}', Target address = '{}', Sender address = '{}'.",
message.getMessageID(), message.getTargetAddress(), message.getSenderAddress());
} else {