report uncompressed message size when it does not need compression (#… · grpc/grpc-java@2aae68e

@@ -133,7 +133,7 @@ public void simplePayload() {

133133

assertEquals(Bytes.asList(new byte[]{3, 14}), bytes(producer.getValue().next()));

134134

verify(listener, atLeastOnce()).bytesRead(anyInt());

135135

verifyNoMoreInteractions(listener);

136-

checkStats(tracer, transportTracer.getStats(), fakeClock, 2, 2);

136+

checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 2, 2);

137137

}

138138139139

@Test

@@ -148,7 +148,7 @@ public void smallCombinedPayloads() {

148148

verify(listener, atLeastOnce()).bytesRead(anyInt());

149149

assertEquals(Bytes.asList(new byte[]{14, 15}), bytes(streams.get(1).next()));

150150

verifyNoMoreInteractions(listener);

151-

checkStats(tracer, transportTracer.getStats(), fakeClock, 1, 1, 2, 2);

151+

checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 1, 1, 2, 2);

152152

}

153153154154

@Test

@@ -162,7 +162,7 @@ public void endOfStreamWithPayloadShouldNotifyEndOfStream() {

162162

verify(listener).deframerClosed(false);

163163

verify(listener, atLeastOnce()).bytesRead(anyInt());

164164

verifyNoMoreInteractions(listener);

165-

checkStats(tracer, transportTracer.getStats(), fakeClock, 1, 1);

165+

checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 1, 1);

166166

}

167167168168

@Test

@@ -177,7 +177,7 @@ public void endOfStreamShouldNotifyEndOfStream() {

177177

}

178178

verify(listener).deframerClosed(false);

179179

verifyNoMoreInteractions(listener);

180-

checkStats(tracer, transportTracer.getStats(), fakeClock);

180+

checkStats(tracer, transportTracer.getStats(), fakeClock, false);

181181

}

182182183183

@Test

@@ -189,7 +189,7 @@ public void endOfStreamWithPartialMessageShouldNotifyDeframerClosedWithPartialMe

189189

verify(listener, atLeastOnce()).bytesRead(anyInt());

190190

verify(listener).deframerClosed(true);

191191

verifyNoMoreInteractions(listener);

192-

checkStats(tracer, transportTracer.getStats(), fakeClock);

192+

checkStats(tracer, transportTracer.getStats(), fakeClock, false);

193193

}

194194195195

@Test

@@ -206,7 +206,7 @@ public void endOfStreamWithInvalidGzipBlockShouldNotifyDeframerClosedWithPartial

206206

deframer.closeWhenComplete();

207207

verify(listener).deframerClosed(true);

208208

verifyNoMoreInteractions(listener);

209-

checkStats(tracer, transportTracer.getStats(), fakeClock);

209+

checkStats(tracer, transportTracer.getStats(), fakeClock, false);

210210

}

211211212212

@Test

@@ -228,10 +228,11 @@ public void payloadSplitBetweenBuffers() {

228228

tracer,

229229

transportTracer.getStats(),

230230

fakeClock,

231+

true,

231232

7 /* msg size */ + 2 /* second buffer adds two bytes of overhead in deflate block */,

232233

7);

233234

} else {

234-

checkStats(tracer, transportTracer.getStats(), fakeClock, 7, 7);

235+

checkStats(tracer, transportTracer.getStats(), fakeClock, false, 7, 7);

235236

}

236237

}

237238

@@ -248,7 +249,7 @@ public void frameHeaderSplitBetweenBuffers() {

248249

assertEquals(Bytes.asList(new byte[]{3}), bytes(producer.getValue().next()));

249250

verify(listener, atLeastOnce()).bytesRead(anyInt());

250251

verifyNoMoreInteractions(listener);

251-

checkStats(tracer, transportTracer.getStats(), fakeClock, 1, 1);

252+

checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 1, 1);

252253

}

253254254255

@Test

@@ -259,7 +260,7 @@ public void emptyPayload() {

259260

assertEquals(Bytes.asList(), bytes(producer.getValue().next()));

260261

verify(listener, atLeastOnce()).bytesRead(anyInt());

261262

verifyNoMoreInteractions(listener);

262-

checkStats(tracer, transportTracer.getStats(), fakeClock, 0, 0);

263+

checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 0, 0);

263264

}

264265265266

@Test

@@ -273,9 +274,10 @@ public void largerFrameSize() {

273274

verify(listener, atLeastOnce()).bytesRead(anyInt());

274275

verifyNoMoreInteractions(listener);

275276

if (useGzipInflatingBuffer) {

276-

checkStats(tracer, transportTracer.getStats(), fakeClock, 8 /* compressed size */, 1000);

277+

checkStats(tracer, transportTracer.getStats(), fakeClock,true,

278+

8 /* compressed size */, 1000);

277279

} else {

278-

checkStats(tracer, transportTracer.getStats(), fakeClock, 1000, 1000);

280+

checkStats(tracer, transportTracer.getStats(), fakeClock, false, 1000, 1000);

279281

}

280282

}

281283

@@ -292,7 +294,7 @@ public void endOfStreamCallbackShouldWaitForMessageDelivery() {

292294

verify(listener).deframerClosed(false);

293295

verify(listener, atLeastOnce()).bytesRead(anyInt());

294296

verifyNoMoreInteractions(listener);

295-

checkStats(tracer, transportTracer.getStats(), fakeClock, 1, 1);

297+

checkStats(tracer, transportTracer.getStats(), fakeClock, useGzipInflatingBuffer, 1, 1);

296298

}

297299298300

@Test

@@ -308,6 +310,7 @@ public void compressed() {

308310

verify(listener).messagesAvailable(producer.capture());

309311

assertEquals(Bytes.asList(new byte[1000]), bytes(producer.getValue().next()));

310312

verify(listener, atLeastOnce()).bytesRead(anyInt());

313+

checkStats(tracer, transportTracer.getStats(), fakeClock, true, 29, 1000);

311314

verifyNoMoreInteractions(listener);

312315

}

313316

@@ -502,15 +505,17 @@ public void sizeEnforcingInputStream_markReset() throws IOException {

502505

* @param sizes in the format {wire0, uncompressed0, wire1, uncompressed1, ...}

503506

*/

504507

private static void checkStats(

505-

TestBaseStreamTracer tracer, TransportStats transportStats, FakeClock clock, long... sizes) {

508+

TestBaseStreamTracer tracer, TransportStats transportStats, FakeClock clock,

509+

boolean compressed, long... sizes) {

506510

assertEquals(0, sizes.length % 2);

507511

int count = sizes.length / 2;

508512

long expectedWireSize = 0;

509513

long expectedUncompressedSize = 0;

510514

for (int i = 0; i < count; i++) {

511515

assertEquals("inboundMessage(" + i + ")", tracer.nextInboundEvent());

512516

assertEquals(

513-

String.format(Locale.US, "inboundMessageRead(%d, %d, -1)", i, sizes[i * 2]),

517+

String.format(Locale.US, "inboundMessageRead(%d, %d, %d)", i, sizes[i * 2],

518+

compressed ? -1 : sizes[i * 2 + 1]),

514519

tracer.nextInboundEvent());

515520

expectedWireSize += sizes[i * 2];

516521

expectedUncompressedSize += sizes[i * 2 + 1];