当前位置: 首页>>代码示例>>C++>>正文


C++ ObServer::get_port方法代码示例

本文整理汇总了C++中common::ObServer::get_port方法的典型用法代码示例。如果您正苦于以下问题:C++ ObServer::get_port方法的具体用法?C++ ObServer::get_port怎么用?C++ ObServer::get_port使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在common::ObServer的用法示例。


在下文中一共展示了ObServer::get_port方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: init

int ObUpsLeaseTask::init(common::ObRoleMgr *role_mgr, ObUpsRpcStub * rpc_stub, common::ObServer &root_server, ObUpsLogMgr *log_mgr, const int64_t inner_port, common::ObServer &self_server, const int64_t timeout_us)
{
  int err = OB_SUCCESS;
  self_lease_ = 0;
  if (NULL == role_mgr || NULL == rpc_stub || NULL == log_mgr)
  {
    err = OB_INVALID_ARGUMENT;
    TBSYS_LOG(WARN, "invalid argument. role_mgr=%p", role_mgr);
  }
  else
  {
    role_mgr_ = role_mgr;
    rpc_stub_ = rpc_stub;
    log_mgr_ = log_mgr;
    root_server_.set_ipv4_addr(root_server.get_ipv4(), root_server.get_port());
    inner_port_ = inner_port;
    self_addr_.set_ipv4_addr(self_server.get_ipv4(), self_server.get_port());
    timeout_us_ = timeout_us;
  }
  return err;
}
开发者ID:Abioy,项目名称:oceanbase,代码行数:21,代码来源:ob_ups_lease_task.cpp

示例2: fail

 void ObUpsBlackList::fail(const int32_t server_index, const common::ObServer & server)
 {
   if ((server_index < server_count_) && (fail_counter_[server_index].server_ == server))
   {
     // no need thread safe
     if (0 == fail_counter_[server_index].fail_count_)
     {
       fail_counter_[server_index].fail_timestamp_ = tbsys::CTimeUtil::getTime();
     }
     ++fail_counter_[server_index].fail_count_;
   }
   else
   {
     TBSYS_LOG(WARN, "check param failed:index[%d], count[%d], server[%u], port[%d]",
         server_index, server_count_, server.get_ipv4(), server.get_port());
   }
 }
开发者ID:Abioy,项目名称:oceanbase,代码行数:17,代码来源:ob_ups_blacklist.cpp

示例3: remove_replicas

int ObRootTableService::remove_replicas(ObScanHelper &scan_helper, const common::ObServer &cs)
{
    int ret = OB_SUCCESS;
    if (0 == cs.get_port())
    {
        TBSYS_LOG(WARN, "invalid cs port");
        ret = OB_INVALID_ARGUMENT;
    }
    else if (OB_SUCCESS != (ret = check_integrity()))
    {
        TBSYS_LOG(ERROR, "integrity error");
    }
    else
    {
        // @todo for each table
        remove_replicas_in_table(scan_helper, cs, 0);
    }
    return ret;
}
开发者ID:cuiwm,项目名称:oceanbase,代码行数:19,代码来源:ob_root_table_service.cpp

示例4: migrate_replica

int ObRootTableService::migrate_replica(ObScanHelper &scan_helper, const ObNewRange &range, const int64_t version,
                                        const common::ObServer &from, const common::ObServer &to, bool keep_src)
{
    int ret = OB_SUCCESS;
    ObRootTable3::ConstIterator *first;
    ObRootTable3 *root_table = NULL;
    const ObRootTable3::Value* crow = NULL;

    if (NULL == range.start_key_.ptr()
            || NULL == range.end_key_.ptr()
            || 0 >= version
            || 0 == from.get_port()
            || 0 == to.get_port())
    {
        TBSYS_LOG(WARN, "invalid tablet");
        ret = OB_INVALID_ARGUMENT;
    }
    else if (OB_SUCCESS != (ret = check_integrity()))
    {
        TBSYS_LOG(ERROR, "integrity error");
    }
    else if (OB_SUCCESS != (ret = aquire_root_table(scan_helper, root_table)))
    {
        TBSYS_LOG(ERROR, "failed to aquire root table, err=%d", ret);
    }
    else if (OB_SUCCESS != (ret = root_table->search(range, first)))
    {
        TBSYS_LOG(WARN, "failed to search tablet, err=%d", ret);
    }
    else if (OB_SUCCESS != (ret = first->next(crow)))
    {
        TBSYS_LOG(WARN, "tablet not exist, err=%d range=%s", ret, to_cstring(range));
        ret = OB_ENTRY_NOT_EXIST;
    }
    else if (!is_same_range(*crow, range))
    {
        ret = OB_ENTRY_NOT_EXIST;
        TBSYS_LOG(WARN, "tablet not exist, range=%s", to_cstring(range));
    }
    else
    {
        for (int32_t i = 0; i < crow->get_max_replica_count(); ++i)
        {
            const ObTabletReplica& replica = crow->get_replica(i);
            if (from == replica.cs_)
            {
                if (replica.version_ != version)
                {
                    TBSYS_LOG(WARN, "migrate tablet with wrong version, old_v=%ld new_v=%ld cs=%s range=%s",
                              replica.version_, version, from.to_cstring(), to_cstring(range));
                    ret = OB_CONFLICT_VALUE;
                }
                else
                {
                    ObTabletMetaTable::Value new_row = *crow; // copy
                    ObTabletReplica replica2(replica);
                    replica2.cs_ = to;
                    if (keep_src)
                    {
                        if (OB_SUCCESS != (ret = new_row.add_replica(replica2)))
                        {
                            TBSYS_LOG(WARN, "failed to add replica, err=%d", ret);
                        }
                    }
                    else
                    {
                        new_row.set_replica(i, replica2);
                    }
                    if (OB_SUCCESS == ret)
                    {
                        if (OB_SUCCESS != (ret = root_table->update(new_row)))
                        {
                            TBSYS_LOG(ERROR, "failed to update root table, err=%d", ret);
                        }
                        else if (OB_SUCCESS != (ret = root_table->commit()))
                        {
                            TBSYS_LOG(ERROR, "failed to commit change, err=%d", ret);
                        }
                    }
                }
                break;
            }
        } // end for
    }
    release_root_table(root_table);
    return ret;
}
开发者ID:cuiwm,项目名称:oceanbase,代码行数:87,代码来源:ob_root_table_service.cpp


注:本文中的common::ObServer::get_port方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。