class DefaultNettyConnection extends NettyChannelListenableAsyncCloseable implements NettyConnection<Read, Write> {

    @Override
    public Completable write(Publisher<Write> write) {
        return write(write, flushStrategyHolder::currentStrategy, WriteDemandEstimators::newDefaultEstimator);
    }

    private  DefaultNettyConnection(Channel channel, BufferAllocator allocator, Executor executor,
                                   Predicate<Read> terminalPredicate, CloseHandler closeHandler,
                                   FlushStrategy flushStrategy, @Nullable Long idleTimeoutMs,
                                   ExecutionStrategy executionStrategy, Protocol protocol,
                                   @Nullable SSLSession sslSession, @Nullable ChannelConfig parentChannelConfig,
                                   DataObserver dataObserver);

}