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


C++ MasterInfo类代码示例

本文整理汇总了C++中MasterInfo的典型用法代码示例。如果您正苦于以下问题:C++ MasterInfo类的具体用法?C++ MasterInfo怎么用?C++ MasterInfo使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: createMasterInfo

/**
 * Creates a MasterInfo protobuf from the process's UPID.
 *
 * This is only used by the `StandaloneMasterDetector` (used in tests
 * and outside tests when ZK is not used).
 *
 * For example, when we start a slave with
 * `[email protected]:5050`, since the slave (and consequently
 * its detector) doesn't have enough information about `MasterInfo`, it
 * tries to construct it based on the only available information
 * (`UPID`).
 *
 * @param pid The process's assigned untyped PID.
 * @return A fully formed `MasterInfo` with the IP/hostname information
 *    as derived from the `UPID`.
 */
MasterInfo createMasterInfo(const UPID& pid)
{
  MasterInfo info;
  info.set_id(stringify(pid) + "-" + id::UUID::random().toString());

  // NOTE: Currently, we store the ip in network order, which should
  // be fixed. See MESOS-1201 for more details.
  // TODO(marco): `ip` and `port` are deprecated in favor of `address`;
  //     remove them both after the deprecation cycle.
  info.set_ip(pid.address.ip.in()->s_addr);
  info.set_port(pid.address.port);

  info.mutable_address()->set_ip(stringify(pid.address.ip));
  info.mutable_address()->set_port(pid.address.port);

  info.set_pid(pid);

  Try<string> hostname = net::getHostname(pid.address.ip);
  if (hostname.isSome()) {
    // Hostname is deprecated; but we need to update it
    // to maintain backward compatibility.
    // TODO(marco): Remove once we deprecate it.
    info.set_hostname(hostname.get());
    info.mutable_address()->set_hostname(hostname.get());
  }

  foreach (const MasterInfo::Capability& capability,
           mesos::internal::master::MASTER_CAPABILITIES()) {
    info.add_capabilities()->CopyFrom(capability);
  }
开发者ID:ederst,项目名称:mesos,代码行数:46,代码来源:protobuf_utils.cpp

示例2: InitFakeMaster

int ReplicationImpl::InitFakeMaster() {
    MasterInfo info;
    int ret = master_manager_->GetMasterInfo(&info);
    if (ret) {
        ColorLogError("%s get master info fail, ret %d", __func__, ret);
        return ret;
    }

    string ip = Utils::GetIP(info.svr_id());
    if (info.svr_id() == option_->GetBinLogSvrConfig()->GetEngineSvrID()) {
        LogVerbose("%s get other ip %s", __func__, ip.c_str());
    } else {
        ctx_->SelfConn(false);
    }

    MySqlManager* mysql_manager = MySqlManager::GetGlobalMySqlManager(option_);
    if (mysql_manager->IsReplicaProcess()) {
        ip = Utils::GetIP(option_->GetBinLogSvrConfig()->GetEngineSvrID());
        ctx_->SelfConn(true);
    }

    LogVerbose("%s connect ip %s port %d", __func__, ip.c_str(), info.port());

    int master_fd = NetIO::Connect(ip.c_str(), info.port());
    if (master_fd < 0) {
		STATISTICS(ReplMySqlConnectFail());
        return SOCKET_FAIL;
    }
    return master_fd;
}
开发者ID:tencent-wechat,项目名称:phxsql,代码行数:30,代码来源:replication_impl.cpp

示例3:

bool operator == (const MasterInfo& left, const MasterInfo& right)
{
    return left.id() == right.id() &&
           left.ip() == right.ip() &&
           left.port() == right.port() &&
           left.pid() == right.pid() &&
           left.hostname() == right.hostname();
}
开发者ID:lukeleslie,项目名称:mesos,代码行数:8,代码来源:type_utils.cpp

示例4: reregistered

  void reregistered(
      SchedulerDriver* driver,
      const MasterInfo& masterInfo) override
  {
    LOG(INFO) << "Reregistered with " << masterInfo.pid();

    if (generator == nullptr) {
      LOG(INFO) << "Starting LoadGenerator at QPS: " << qps;
      generator = new LoadGenerator(driver, qps, duration);
    }
  }
开发者ID:GrovoLearning,项目名称:mesos,代码行数:11,代码来源:load_generator_framework.cpp

示例5: registered

  virtual void registered(SchedulerDriver* driver,
                          const FrameworkID&,
                          const MasterInfo& masterInfo)
  {
    LOG(INFO) << "Registered with " << masterInfo.pid();

    if (generator == NULL) {
      LOG(INFO) << "Starting LoadGenerator at QPS: " << qps;

      generator = new LoadGenerator(driver, qps, duration);
    }
  }
开发者ID:CodeTickler,项目名称:mesos,代码行数:12,代码来源:load_generator_framework.cpp

示例6: TEST_F

TEST_F(RegistrarTest, recover)
{
  Registrar registrar(state);

  SlaveInfo slave;
  slave.set_hostname("localhost");
  SlaveID id;
  id.set_value("1");
  slave.mutable_id()->CopyFrom(id);

  // Operations preceding recovery will fail.
  AWAIT_EXPECT_FAILED(registrar.admit(slave));
  AWAIT_EXPECT_FAILED(registrar.readmit(slave));
  AWAIT_EXPECT_FAILED(registrar.remove(slave));

  MasterInfo info;
  info.set_id("foobar");
  info.set_ip(0);
  info.set_port(5050);
  info.set_pid("0:5050");

  Future<Registry> registry = registrar.recover(info);

  // Before waiting for the recovery to complete, invoke some
  // operations to ensure they do not fail.
  Future<bool> admit = registrar.admit(slave);
  Future<bool> readmit = registrar.readmit(slave);
  Future<bool> remove = registrar.remove(slave);

  AWAIT_READY(registry);
  EXPECT_EQ(info, registry.get().master().info());

  AWAIT_EQ(true, admit);
  AWAIT_EQ(true, readmit);
  AWAIT_EQ(true, remove);
}
开发者ID:tedyoung,项目名称:mesos,代码行数:36,代码来源:registrar_tests.cpp

示例7: convert

jobject convert(JNIEnv* env, const MasterInfo& masterInfo)
{
  string data;
  masterInfo.SerializeToString(&data);

  // byte[] data = ..;
  jbyteArray jdata = env->NewByteArray(data.size());
  env->SetByteArrayRegion(jdata, 0, data.size(), (jbyte*) data.data());

  // MasterInfo masterInfo = MasterInfo.parseFrom(data);
  jclass clazz = FindMesosClass(env, "org/apache/mesos/Protos$MasterInfo");

  jmethodID parseFrom =
    env->GetStaticMethodID(clazz, "parseFrom",
                           "([B)Lorg/apache/mesos/Protos$MasterInfo;");

  jobject jmasterInfo = env->CallStaticObjectMethod(clazz, parseFrom, jdata);

  return jmasterInfo;
}
开发者ID:adegtiar,项目名称:sceem,代码行数:20,代码来源:convert.cpp

示例8: createMasterInfo

MasterInfo createMasterInfo(const process::UPID& pid)
{
  MasterInfo info;
  info.set_id(stringify(pid) + "-" + UUID::random().toString());
  info.set_ip(pid.address.ip);
  info.set_port(pid.address.port);
  info.set_pid(pid);

  Try<string> hostname = net::getHostname(pid.address.ip);
  if (hostname.isSome()) {
    info.set_hostname(hostname.get());
  }

  return info;
}
开发者ID:abhishekamralkar,项目名称:mesos,代码行数:15,代码来源:protobuf_utils.cpp

示例9: createMasterInfo

/**
 * Creates a MasterInfo protobuf from the process's UPID.
 *
 * This is only used by the `StandaloneMasterDetector` (used in tests
 * and outside tests when ZK is not used).
 *
 * For example, when we start a slave with
 * `[email protected]:5050`, since the slave (and consequently
 * its detector) doesn't have enough information about `MasterInfo`, it
 * tries to construct it based on the only available information
 * (`UPID`).
 *
 * @param pid The process's assigned untyped PID.
 * @return A fully formed `MasterInfo` with the IP/hostname information
 *    as derived from the `UPID`.
 */
MasterInfo createMasterInfo(const process::UPID& pid)
{
  MasterInfo info;
  info.set_id(stringify(pid) + "-" + UUID::random().toString());

  // NOTE: Currently, we store the ip in network order, which should
  // be fixed. See MESOS-1201 for more details.
  info.set_ip(pid.address.ip.in().get().s_addr);

  info.set_port(pid.address.port);
  info.set_pid(pid);

  Try<string> hostname = net::getHostname(pid.address.ip);
  if (hostname.isSome()) {
    info.set_hostname(hostname.get());
  }

  return info;
}
开发者ID:huangdehui2013,项目名称:mesos,代码行数:35,代码来源:protobuf_utils.cpp


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