/** * Retrieve the Application Specific Feedback (if present) from the Status Message. * * @param destination to store the feedback * @return the number of bytes in the feedback copied into the destination */ public int applicationSpecificFeedback(final byte[] destination) { final int frameLength = frameLength(); int result = 0; if (frameLength > HEADER_LENGTH) { if (frameLength > capacity()) { throw new AeronException(String.format( "SM application specific feedback (%d) is truncated (%d)", frameLength - HEADER_LENGTH, capacity() - HEADER_LENGTH)); } final int copyLength = Math.min(destination.length, frameLength - HEADER_LENGTH); getBytes(APP_SPECIFIC_FEEDBACK_FIELD_OFFSET, destination, 0, copyLength); result = copyLength; } return result; }
/** * Retrieve the Application Specific Feedback (if present) from the Status Message. * * @param destination to store the feedback * @return the number of bytes in the feedback copied into the destination */ public int applicationSpecificFeedback(final byte[] destination) { final int frameLength = frameLength(); int result = 0; if (frameLength > HEADER_LENGTH) { if (frameLength > capacity()) { throw new AeronException(String.format( "SM application specific feedback (%d) is truncated (%d)", frameLength - HEADER_LENGTH, capacity() - HEADER_LENGTH)); } final int copyLength = Math.min(destination.length, frameLength - HEADER_LENGTH); getBytes(APP_SPECIFIC_FEEDBACK_FIELD_OFFSET, destination, 0, copyLength); result = copyLength; } return result; }
/** * Retrieve the Application Specific Feedback (if present) from the Status Message. * * @param destination to store the feedback * @return the number of bytes in the feedback copied into the destination */ public int applicationSpecificFeedback(final byte[] destination) { final int frameLength = frameLength(); int result = 0; if (frameLength > HEADER_LENGTH) { if (frameLength > capacity()) { throw new AeronException(String.format( "SM application specific feedback (%d) is truncated (%d)", frameLength - HEADER_LENGTH, capacity() - HEADER_LENGTH)); } final int copyLength = Math.min(destination.length, frameLength - HEADER_LENGTH); getBytes(APP_SPECIFIC_FEEDBACK_FIELD_OFFSET, destination, 0, copyLength); result = copyLength; } return result; }