--- old/src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/frame/DataFrame.java 2017-11-30 04:04:19.802872716 -0800 +++ new/src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/internal/frame/DataFrame.java 2017-11-30 04:04:19.609855842 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -25,9 +25,11 @@ package jdk.incubator.http.internal.frame; -import jdk.incubator.http.internal.common.ByteBufferReference; import jdk.incubator.http.internal.common.Utils; +import java.nio.ByteBuffer; +import java.util.List; + public class DataFrame extends Http2Frame { public static final int TYPE = 0x0; @@ -37,20 +39,20 @@ public static final int PADDED = 0x8; private int padLength; - private final ByteBufferReference[] data; + private final List data; private final int dataLength; - public DataFrame(int streamid, int flags, ByteBufferReference data) { - this(streamid, flags, new ByteBufferReference[]{data}); + public DataFrame(int streamid, int flags, ByteBuffer data) { + this(streamid, flags, List.of(data)); } - public DataFrame(int streamid, int flags, ByteBufferReference[] data) { + public DataFrame(int streamid, int flags, List data) { super(streamid, flags); this.data = data; - this.dataLength = Utils.remaining(data); + this.dataLength = Utils.remaining(data, Integer.MAX_VALUE); } - public DataFrame(int streamid, int flags, ByteBufferReference[] data, int padLength) { + public DataFrame(int streamid, int flags, List data, int padLength) { this(streamid, flags, data); if (padLength > 0) { setPadLength(padLength); @@ -78,7 +80,7 @@ return super.flagAsString(flag); } - public ByteBufferReference[] getData() { + public List getData() { return data; }