コード例 #1
0
ファイル: meta_service.cpp プロジェクト: Strongc/rDSN
void meta_service::stop()
{
    _started = false;

    unregister_rpc_handler(RPC_CM_QUERY_NODE_PARTITIONS);
    unregister_rpc_handler(RPC_CM_QUERY_PARTITION_CONFIG_BY_INDEX);
    unregister_rpc_handler(RPC_CM_UPDATE_PARTITION_CONFIGURATION);
    unregister_rpc_handler(RPC_CM_MODIFY_REPLICA_CONFIG_COMMAND);
    unregister_rpc_handler(RPC_CM_CREATE_APP);
    unregister_rpc_handler(RPC_CM_DROP_APP);

    if (_balancer_timer != nullptr)
    {
        _balancer_timer->cancel(true);
    }

    if (_balancer != nullptr)
    {
        delete _balancer;
        _balancer = nullptr;
    }

    if (_failure_detector != nullptr)
    {
        _failure_detector->stop();
        delete _failure_detector;
        _failure_detector = nullptr;
    }

    if (_state != nullptr)
    {
        delete _state;
        _state = nullptr;
    }
}
コード例 #2
0
ファイル: meta_service.cpp プロジェクト: starsingchow/rDSN
bool meta_service::stop()
{
    if (!_started || _balancer_timer == nullptr) return false;

    _started = false;
    _failure_detector->stop();
    delete _failure_detector;
    _failure_detector = nullptr;

    if (_balancer_timer == nullptr)
    {
        _balancer_timer->cancel(true);
    }
    
    unregister_rpc_handler(RPC_CM_QUERY_NODE_PARTITIONS);
    unregister_rpc_handler(RPC_CM_QUERY_PARTITION_CONFIG_BY_INDEX);
    unregister_rpc_handler(RPC_CM_UPDATE_PARTITION_CONFIGURATION);

    delete _balancer;
    _balancer = nullptr;
    return true;
}
コード例 #3
0
ファイル: meta_service.cpp プロジェクト: yiiwood/rDSN
bool meta_service::stop()
{
    if (!_started) return false;
    _started = false;
    _failure_detector->stop();
    delete _failure_detector;
    _failure_detector = nullptr;

    _balancer_timer->cancel(true);
    unregister_rpc_handler(RPC_CM_CALL);
    delete _balancer;
    _balancer = nullptr;
    return true;
}