}
static byte[] innerWaitForOpennetNoderef(long xferUID, int paddedLength, int realLength, PeerNode source, boolean isReply, long uid, boolean sendReject, ByteCounter ctr, Node node) {
byte[] buf = new byte[paddedLength];
ByteArrayRandomAccessBuffer raf = new ByteArrayRandomAccessBuffer(buf);
PartiallyReceivedBulk prb = new PartiallyReceivedBulk(node.usm, buf.length, Node.PACKET_SIZE, raf, false);
BulkReceiver br = new BulkReceiver(prb, source, xferUID, ctr);
if (logMINOR) {
Logger.minor(OpennetManager.class, "Receiving noderef (reply="+isReply+") as bulk transfer for request uid "+uid+" with transfer "+xferUID+" from "+source);
}
if (!br.receive()) {
if (source.isConnected()) {
String msg = "Failed to receive noderef bulk transfer : "
+RetrievalException.getErrString(prb.getAbortReason())+" : "
+prb.getAbortDescription()+" from "+source;
if (prb.getAbortReason() != RetrievalException.SENDER_DISCONNECTED) {
Logger.warning(OpennetManager.class, msg);
} else {
Logger.normal(OpennetManager.class, msg);
}
if (sendReject) rejectRef(uid, source, DMT.NODEREF_REJECTED_TRANSFER_FAILED, ctr);