void invokeFreeInboundBuffer() {
EventExecutor executor = executor();
if (prev != null && executor.inEventLoop()) {
invokeFreeInboundBuffer0();
} else {
executor.execute(new Runnable() {
@Override
public void run() {
pipeline.shutdownInbound();
invokeFreeInboundBuffer0();
}