Decoder d = new Decoder(signatureFactory);
final int readerBefore = buf.buffer().readerIndex();
d.decodeHeader(buf.buffer(), recipient, sender);
final boolean donePayload = d.decodePayload(buf.buffer());
d.decodeSignature(buf.buffer(), readerBefore, donePayload);
return d.message();
}
/**
* Calculates the size of the message
*/