test_class.declarator: folder = new TemporaryFolder(new File("target"))
test_class.modifier: @Rule
      public
test_class.original_string: @Rule
      public TemporaryFolder folder = new TemporaryFolder(new File("target"));
test_class.type: TemporaryFolder
test_class.var_name: folder
test_class.file: oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java
test_class.identifier: ResponseDecoderTest
test_case.body: @Test
      public void shouldDecodeValidGetSegmentResponses() throws Exception {
          UUID uuid = new UUID(1, 2);
          byte[] data = new byte[] {3, 4, 5};
  
          ByteBuf buf = Unpooled.buffer();
          buf.writeInt(data.length + 25);
          buf.writeByte(Messages.HEADER_SEGMENT);
          buf.writeLong(uuid.getMostSignificantBits());
          buf.writeLong(uuid.getLeastSignificantBits());
          buf.writeLong(hash(data));
          buf.writeBytes(data);
  
          EmbeddedChannel channel = new EmbeddedChannel(new ResponseDecoder(folder.newFolder()));
          channel.writeInbound(buf);
          GetSegmentResponse response = (GetSegmentResponse) channel.readInbound();
          assertEquals(uuid, UUID.fromString(response.getSegmentId()));
          assertArrayEquals(data, response.getSegmentData());
      }
test_case.class_method_signature: ResponseDecoderTest.shouldDecodeValidGetSegmentResponses()
test_case.full_signature: @Test public void shouldDecodeValidGetSegmentResponses()
test_case.identifier: shouldDecodeValidGetSegmentResponses
test_case.invocations: buffer writeInt writeByte writeLong getMostSignificantBits writeLong getLeastSignificantBits writeLong hash writeBytes newFolder writeInbound readInbound assertEquals fromString getSegmentId assertArrayEquals getSegmentData
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldDecodeValidGetSegmentResponses()
focal_class.declarator: log = LoggerFactory.getLogger(ResponseDecoder.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(ResponseDecoder.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: spoolFolder
focal_class.modifier: private final
focal_class.original_string: private final File spoolFolder;
focal_class.type: File
focal_class.var_name: spoolFolder
focal_class.declarator: blobChunkSize
focal_class.modifier: private
focal_class.original_string: private int blobChunkSize;
focal_class.type: int
focal_class.var_name: blobChunkSize
focal_class.file: oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoder.java
focal_class.identifier: ResponseDecoder
focal_class.class_method_signature: ResponseDecoder.ResponseDecoder(File spoolFolder)
focal_class.full_signature: public  ResponseDecoder(File spoolFolder)
focal_class.identifier: ResponseDecoder
focal_class.modifiers: public
focal_class.parameters: (File spoolFolder)
focal_class.signature:  ResponseDecoder(File spoolFolder)
focal_class.class_method_signature: ResponseDecoder.decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out)
focal_class.full_signature: @Override protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out)
focal_class.identifier: decode
focal_class.modifiers: @Override protected
focal_class.parameters: (ChannelHandlerContext ctx, ByteBuf in, List<Object> out)
focal_class.return: void
focal_class.signature: void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out)
focal_class.class_method_signature: ResponseDecoder.decodeGetHeadResponse(int length, ByteBuf in, List<Object> out)
focal_class.full_signature: private static void decodeGetHeadResponse(int length, ByteBuf in, List<Object> out)
focal_class.identifier: decodeGetHeadResponse
focal_class.modifiers: private static
focal_class.parameters: (int length, ByteBuf in, List<Object> out)
focal_class.return: void
focal_class.signature: void decodeGetHeadResponse(int length, ByteBuf in, List<Object> out)
focal_class.class_method_signature: ResponseDecoder.decodeGetSegmentResponse(int length, ByteBuf in, List<Object> out)
focal_class.full_signature: private static void decodeGetSegmentResponse(int length, ByteBuf in, List<Object> out)
focal_class.identifier: decodeGetSegmentResponse
focal_class.modifiers: private static
focal_class.parameters: (int length, ByteBuf in, List<Object> out)
focal_class.return: void
focal_class.signature: void decodeGetSegmentResponse(int length, ByteBuf in, List<Object> out)
focal_class.class_method_signature: ResponseDecoder.decodeGetBlobResponse(int length, ByteBuf in, List<Object> out)
focal_class.full_signature: private void decodeGetBlobResponse(int length, ByteBuf in, List<Object> out)
focal_class.identifier: decodeGetBlobResponse
focal_class.modifiers: private
focal_class.parameters: (int length, ByteBuf in, List<Object> out)
focal_class.return: void
focal_class.signature: void decodeGetBlobResponse(int length, ByteBuf in, List<Object> out)
focal_class.class_method_signature: ResponseDecoder.decodeGetReferencesResponse(int length, ByteBuf in, List<Object> out)
focal_class.full_signature: private static void decodeGetReferencesResponse(int length, ByteBuf in, List<Object> out)
focal_class.identifier: decodeGetReferencesResponse
focal_class.modifiers: private static
focal_class.parameters: (int length, ByteBuf in, List<Object> out)
focal_class.return: void
focal_class.signature: void decodeGetReferencesResponse(int length, ByteBuf in, List<Object> out)
focal_class.class_method_signature: ResponseDecoder.hash(byte[] data)
focal_class.full_signature: private static long hash(byte[] data)
focal_class.identifier: hash
focal_class.modifiers: private static
focal_class.parameters: (byte[] data)
focal_class.return: long
focal_class.signature: long hash(byte[] data)
focal_class.class_method_signature: ResponseDecoder.hash(byte mask, long blobLength, byte[] data)
focal_class.full_signature: private static long hash(byte mask, long blobLength, byte[] data)
focal_class.identifier: hash
focal_class.modifiers: private static
focal_class.parameters: (byte mask, long blobLength, byte[] data)
focal_class.return: long
focal_class.signature: long hash(byte mask, long blobLength, byte[] data)
focal_class.superclass: extends ByteToMessageDecoder
focal_method.body: private static long hash(byte[] data) {
          return Hashing.murmur3_32().newHasher().putBytes(data).hash().padToLong();
      }
focal_method.class_method_signature: ResponseDecoder.hash(byte[] data)
focal_method.full_signature: private static long hash(byte[] data)
focal_method.identifier: hash
focal_method.invocations: padToLong hash putBytes newHasher murmur3_32
focal_method.modifiers: private static
focal_method.parameters: (byte[] data)
focal_method.return: long
focal_method.signature: long hash(byte[] data)