**Describe the situation**
```
$ ./clickhouse-21.3.3 client --query "SELECT * FROM system.numbers_mt FORMAT Native" | pv > /dev/null
^C,1GiB 0:00:45 [ 710MiB/s] [                                                                                                                                                                                               <=>                      ]

$ ./clickhouse-21.3.3 client --compress 0 --query "SELECT * FROM system.numbers_mt FORMAT Native" | pv > /dev/null
^C,2GiB 0:00:12 [1,48GiB/s] [                                                   <=>                                                                                                                                                                  ]
```

size_t inBytesCount() const { return in ? in->count() : 0; }
    Poco::Net::Socket * getSocket() { return socket.get(); }
    
    void setAsyncCallback(AsyncCallback async_callback_)
    {
        async_callback = std::move(async_callback_);
        if (in)
            in->setAsyncCallback(std::move(async_callback));
    }
private:
    String host;
    UInt16 port;
    String default_database;
    String user;
    String password;
    
    String cluster;
    String cluster_secret;
    String salt;
    
    
    std::optional<Poco::Net::SocketAddress> current_resolved_address;
    
    String description;
    void setDescription();
    
    std::optional<Poco::Net::SocketAddress> getResolvedAddress() const;
    String client_name;
    bool connected = false;