> (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`.


{
    Keeper4LWInfo result;
    result.is_leader = raft_instance->is_leader();
    auto srv_config = state_manager->get_srv_config();
    result.is_observer = srv_config->is_learner();
    result.is_follower = !result.is_leader && !result.is_observer;
    result.has_leader = result.is_leader || isLeaderAlive();
    result.is_standalone = !result.is_follower && getFollowerCount() == 0;
    if (result.is_leader)
    {
        result.follower_count = getFollowerCount();
        result.synced_follower_count = getSyncedFollowerCount();
    }
    result.total_nodes_count = getKeeperStateMachine()->getNodesCount();
    result.last_zxid = getKeeperStateMachine()->getLastProcessedZxid();
    return result;
}
}