Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/6071#discussion_r194660815
--- Diff:
flink-runtime/src/main/java/org/apache/flink/runtime/io/network/buffer/ReadOnlySlicedNetworkBuffer.java
---
@@ -75,12 +75,12 @@ private ReadOnlySlicedNetworkBuffer(ByteBuf buffer, int
index, int length, int m
@Override
public ByteBuf unwrap() {
- return super.unwrap().unwrap();
+ return super.unwrap();
--- End diff --
But isn't it a bit counter-intuitive that you instantiate a
`ReadOnlySlicedNetworkBuffer` with a `NetworkBuffer` and when you call
`ReadOnlySlicedNetworkBuffer.unwrap` you don't get a `NetworkBuffer` back but a
`SlicedByteBuf`? Thus, you need to know the internals of this class to know
that you have to call twice `unwrap` to obtain the `NetworkBuffer`. This shows
for example in the `NetworkBufferTest` where we always call
`slice.unwrap().unwrap()`.
What exactly did change with the structure of nested classes that this
change is necessary?
---