> (you don't have to strictly follow this form)

**Use case**

Support manually snapshot for Keeper.

**Describe the solution you'd like**

Throught 4lw commands, such as `csnp`.


SnapshotsQueue snapshots_queue{1};
    
    UpdateConfigurationQueue update_configuration_queue{1000};
    std::atomic<bool> shutdown_called{false};
    mutable std::mutex session_to_response_callback_mutex;
    
    
    
    
    SessionToResponseCallback session_to_response_callback;
    
    
    
    SessionToResponseCallback new_session_id_response_callback;
    
    ThreadFromGlobalPool request_thread;
    
    
    ThreadFromGlobalPool responses_thread;
    
    ThreadFromGlobalPool session_cleaner_thread;
    
    ThreadFromGlobalPool snapshot_thread;
    
    ThreadFromGlobalPool update_configuration_thread;
    
    std::unique_ptr<KeeperServer> server;
    KeeperConnectionStats keeper_stats;
    KeeperConfigurationAndSettingsPtr configuration_and_settings;
    Poco::Logger * log;