Pipeline handler ordering and other questions

Reading my last post, I believe I failed to make myself clear.

Specifically, about this: What if there will never be more data available from the network? Will there be a timeout at some point, or will there be an error or any such thing? How do we handle the case in which there is no more data following to decode?

With this, I wasn't meaning to refer to the event of removing the handler from the pipeline, but more so to the event of an ending byte stream; e.g. the server just didn't send any more (there's nothing left to read due).

Now, I did some search on the internet, and found out that EOF stands for end-of-file; am I correct in my understanding that EOF indicates the end of a byte stream, i.e. that there's nothing more that (in my case) the server is responding with?

If so, does that mean that decodeLast is guaranteed to be called whenever a byte stream ends, or is there a chance where it does not get called?

Also, according to my understanding, returning .needMoreData in decodeLast will not do anything, because there is no further data to be read from the channel, correct?

Thanks in advance for your help!