bulk put
This commit is contained in:
parent
6495ab1da8
commit
868cc5072d
2 changed files with 6 additions and 7 deletions
|
@ -59,9 +59,7 @@ public class CarSales
|
||||||
car.setSeats((byte)(2 + rng.nextLessThan(6)));
|
car.setSeats((byte)(2 + rng.nextLessThan(6)));
|
||||||
car.setDoors((byte)(2 + rng.nextLessThan(3)));
|
car.setDoors((byte)(2 + rng.nextLessThan(3)));
|
||||||
|
|
||||||
StructList.Builder<Wheel.Builder> wheels = car.initWheels(4);
|
for (Wheel.Builder wheel : car.initWheels(4)) {
|
||||||
for (int i = 0; i < wheels.size(); ++i) {
|
|
||||||
Wheel.Builder wheel = wheels.get(i);
|
|
||||||
wheel.setDiameter((short)(25 + rng.nextLessThan(15)));
|
wheel.setDiameter((short)(25 + rng.nextLessThan(15)));
|
||||||
wheel.setAirPressure((float)(30.0 + rng.nextDouble(20.0)));
|
wheel.setAirPressure((float)(30.0 + rng.nextDouble(20.0)));
|
||||||
wheel.setSnowTires(rng.nextLessThan(16) == 0);
|
wheel.setSnowTires(rng.nextLessThan(16) == 0);
|
||||||
|
|
|
@ -313,10 +313,11 @@ final class WireHelpers {
|
||||||
Text.Reader value) {
|
Text.Reader value) {
|
||||||
Text.Builder builder = initTextPointer(refOffset, segment, value.size);
|
Text.Builder builder = initTextPointer(refOffset, segment, value.size);
|
||||||
|
|
||||||
// TODO is there a way to do this with bulk methods?
|
ByteBuffer slice = value.buffer.duplicate();
|
||||||
for (int i = 0; i < builder.size; ++i) {
|
slice.position(value.offset);
|
||||||
builder.buffer.put(builder.offset + i, value.buffer.get(value.offset + i));
|
slice.limit(value.offset + value.size);
|
||||||
}
|
builder.buffer.position(builder.offset);
|
||||||
|
builder.buffer.put(slice);
|
||||||
return builder;
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue