Commit 8264a96
authored
feat(storage): Implement io.WriterTo in Reader (#9659)
* feat(storage): Implement io.WriterTo in Reader
This allows the gRPC Reader to write directly into the application
write buffer, saving a data copy.
Users can get the benefit of this directly by explicitly calling
Reader.WriteTo, but they can also benefit implicitly if they are
calling io.Copy.
A bunch of checksum logic had to be moved from the parent Reader
into the transport Readers to make this work, since we need to
update the checksum for every message read in WriteTo.
* fix conf test object vars
* fix review comments
* fix EOF case.1 parent 77a5dfc commit 8264a96
4 files changed
Lines changed: 189 additions & 34 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
1042 | 1043 | | |
1043 | 1044 | | |
1044 | 1045 | | |
| 1046 | + | |
| 1047 | + | |
| 1048 | + | |
| 1049 | + | |
| 1050 | + | |
| 1051 | + | |
| 1052 | + | |
| 1053 | + | |
| 1054 | + | |
| 1055 | + | |
1045 | 1056 | | |
1046 | 1057 | | |
1047 | 1058 | | |
| |||
1063 | 1074 | | |
1064 | 1075 | | |
1065 | 1076 | | |
| 1077 | + | |
| 1078 | + | |
1066 | 1079 | | |
| 1080 | + | |
1067 | 1081 | | |
1068 | 1082 | | |
1069 | 1083 | | |
| |||
1081 | 1095 | | |
1082 | 1096 | | |
1083 | 1097 | | |
1084 | | - | |
1085 | | - | |
1086 | | - | |
1087 | | - | |
1088 | | - | |
1089 | | - | |
1090 | 1098 | | |
1091 | 1099 | | |
1092 | 1100 | | |
| |||
1464 | 1472 | | |
1465 | 1473 | | |
1466 | 1474 | | |
| 1475 | + | |
| 1476 | + | |
| 1477 | + | |
| 1478 | + | |
| 1479 | + | |
| 1480 | + | |
| 1481 | + | |
| 1482 | + | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + | |
1467 | 1493 | | |
1468 | 1494 | | |
1469 | 1495 | | |
1470 | 1496 | | |
1471 | | - | |
| 1497 | + | |
| 1498 | + | |
1472 | 1499 | | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
1473 | 1503 | | |
1474 | 1504 | | |
1475 | 1505 | | |
| |||
1478 | 1508 | | |
1479 | 1509 | | |
1480 | 1510 | | |
1481 | | - | |
| 1511 | + | |
1482 | 1512 | | |
1483 | 1513 | | |
1484 | 1514 | | |
| |||
1487 | 1517 | | |
1488 | 1518 | | |
1489 | 1519 | | |
| 1520 | + | |
1490 | 1521 | | |
1491 | 1522 | | |
1492 | 1523 | | |
| |||
1512 | 1543 | | |
1513 | 1544 | | |
1514 | 1545 | | |
| 1546 | + | |
1515 | 1547 | | |
1516 | 1548 | | |
1517 | 1549 | | |
1518 | 1550 | | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
| 1564 | + | |
| 1565 | + | |
| 1566 | + | |
| 1567 | + | |
| 1568 | + | |
| 1569 | + | |
| 1570 | + | |
| 1571 | + | |
| 1572 | + | |
| 1573 | + | |
| 1574 | + | |
| 1575 | + | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
| 1594 | + | |
| 1595 | + | |
| 1596 | + | |
| 1597 | + | |
| 1598 | + | |
| 1599 | + | |
| 1600 | + | |
| 1601 | + | |
| 1602 | + | |
| 1603 | + | |
| 1604 | + | |
| 1605 | + | |
| 1606 | + | |
| 1607 | + | |
| 1608 | + | |
| 1609 | + | |
| 1610 | + | |
| 1611 | + | |
| 1612 | + | |
| 1613 | + | |
| 1614 | + | |
| 1615 | + | |
| 1616 | + | |
| 1617 | + | |
1519 | 1618 | | |
1520 | 1619 | | |
1521 | 1620 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
1218 | 1219 | | |
1219 | 1220 | | |
1220 | 1221 | | |
1221 | | - | |
1222 | | - | |
1223 | | - | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
1224 | 1228 | | |
1225 | 1229 | | |
1226 | 1230 | | |
| |||
1229 | 1233 | | |
1230 | 1234 | | |
1231 | 1235 | | |
1232 | | - | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
1233 | 1252 | | |
1234 | 1253 | | |
1235 | 1254 | | |
| |||
1435 | 1454 | | |
1436 | 1455 | | |
1437 | 1456 | | |
1438 | | - | |
1439 | 1457 | | |
1440 | 1458 | | |
1441 | | - | |
1442 | | - | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
1443 | 1463 | | |
1444 | 1464 | | |
1445 | 1465 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
201 | | - | |
202 | | - | |
203 | | - | |
| 201 | + | |
204 | 202 | | |
205 | 203 | | |
206 | 204 | | |
| |||
218 | 216 | | |
219 | 217 | | |
220 | 218 | | |
221 | | - | |
222 | | - | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
232 | 230 | | |
233 | 231 | | |
234 | 232 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | 24 | | |
26 | 25 | | |
27 | 26 | | |
| |||
211 | 210 | | |
212 | 211 | | |
213 | 212 | | |
214 | | - | |
| 213 | + | |
215 | 214 | | |
216 | 215 | | |
217 | 216 | | |
218 | 217 | | |
219 | 218 | | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
220 | 232 | | |
221 | 233 | | |
222 | 234 | | |
| |||
233 | 245 | | |
234 | 246 | | |
235 | 247 | | |
236 | | - | |
| 248 | + | |
237 | 249 | | |
238 | 250 | | |
239 | 251 | | |
| |||
253 | 265 | | |
254 | 266 | | |
255 | 267 | | |
256 | | - | |
| 268 | + | |
257 | 269 | | |
258 | 270 | | |
259 | 271 | | |
| |||
265 | 277 | | |
266 | 278 | | |
267 | 279 | | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
268 | 306 | | |
269 | 307 | | |
270 | 308 | | |
| |||
289 | 327 | | |
290 | 328 | | |
291 | 329 | | |
292 | | - | |
| 330 | + | |
293 | 331 | | |
294 | 332 | | |
295 | 333 | | |
| |||
0 commit comments