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


Golang C.SchedulerDriverPtr函数代码示例

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


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

示例1: SendFrameworkMessage

func (sdriver *SchedulerDriver) SendFrameworkMessage(
	executorId *ExecutorID,
	slaveId *SlaveID,
	data string) error {
	if sdriver.driver != nil {
		executorMessage, executorErr := serialize(executorId)
		if executorErr != nil {
			return executorErr
		}

		slaveMessage, slaveErr := serialize(slaveId)
		if slaveErr != nil {
			return slaveErr
		}

		var cdata *C.char = C.CString(data)

		C.scheduler_sendFrameworkMessage(
			C.SchedulerDriverPtr(sdriver.driver),
			&executorMessage,
			&slaveMessage,
			cdata)
	} else {
		return errors.New(
			"SendFrameworkMessage() failed: scheduler driver not initialized")
	}

	return nil
}
开发者ID:luffyhwl,项目名称:gopark,代码行数:29,代码来源:scheduler.go

示例2: DeclineOffer

func (sdriver *SchedulerDriver) DeclineOffer(
	offerId *OfferID,
	filters ...Filters) error {
	if sdriver.driver != nil {
		message, err := serialize(offerId)
		if err != nil {
			return err
		}

		var filters_ *C.ProtobufObj = nil
		if len(filters) > 1 {
			filtersObj, err := serialize(&filters[0])
			if err != nil {
				return err
			}

			filters_ = &filtersObj
		}

		C.scheduler_declineOffer(
			C.SchedulerDriverPtr(sdriver.driver),
			&message,
			filters_)
	} else {
		return errors.New("Start() failed: scheduler driver not initialized")
	}
	return nil
}
开发者ID:luffyhwl,项目名称:gopark,代码行数:28,代码来源:scheduler.go

示例3: RequestResources

func (sdriver *SchedulerDriver) RequestResources(requests []Request) error {
	if sdriver.driver != nil {
		var requestsData []byte
		for _, request := range requests {
			requestItemData, err := serializeItem(&request)
			if err != nil {
				return err
			}

			requestsData = append(requestsData, requestItemData...)
		}

		requestsObj := C.ProtobufObj{
			data: unsafe.Pointer(&requestsData[0]),
			size: C.size_t(len(requestsData)),
		}

		C.scheduler_requestResources(
			C.SchedulerDriverPtr(sdriver.driver),
			&requestsObj)
	} else {
		return errors.New(
			"RequestResources() failed: scheduler driver not initialized")
	}

	return nil
}
开发者ID:luffyhwl,项目名称:gopark,代码行数:27,代码来源:scheduler.go

示例4: ReviveOffers

func (sdriver *SchedulerDriver) ReviveOffers() error {
	if sdriver.driver != nil {
		C.scheduler_reviveOffers(C.SchedulerDriverPtr(sdriver.driver))
	} else {
		return errors.New("ReviveOffers() failed: scheduler driver not initialized")
	}
	return nil
}
开发者ID:luffyhwl,项目名称:gopark,代码行数:8,代码来源:scheduler.go

示例5: Join

func (sdriver *SchedulerDriver) Join() error {
	if sdriver.driver != nil {
		C.scheduler_join(C.SchedulerDriverPtr(sdriver.driver))
	} else {
		return errors.New("Join() failed: scheduler driver not initialized")
	}
	return nil
}
开发者ID:luffyhwl,项目名称:gopark,代码行数:8,代码来源:scheduler.go

示例6: Stop

func (sdriver *SchedulerDriver) Stop(failover bool) error {
	if sdriver.driver != nil {
		var failoverInt C.int = 0
		if failover {
			failoverInt = 1
		}

		C.scheduler_stop(C.SchedulerDriverPtr(sdriver.driver), failoverInt)
	} else {
		return errors.New("Stop() failed: scheduler driver not initialized")
	}
	return nil
}
开发者ID:luffyhwl,项目名称:gopark,代码行数:13,代码来源:scheduler.go

示例7: KillTask

func (sdriver *SchedulerDriver) KillTask(taskId *TaskID) error {
	if sdriver.driver != nil {
		message, err := serialize(taskId)
		if err != nil {
			return err
		}

		C.scheduler_killTask(C.SchedulerDriverPtr(sdriver.driver), &message)
	} else {
		return errors.New("KillTask() failed: scheduler driver not initialized")
	}

	return nil
}
开发者ID:luffyhwl,项目名称:gopark,代码行数:14,代码来源:scheduler.go

示例8: LaunchTasks

func (sdriver *SchedulerDriver) LaunchTasks(
	offerId *OfferID,
	tasks []*TaskInfo,
	filters ...Filters) error {

	if sdriver.driver != nil {
		offerObj, err := serialize(offerId)
		if err != nil {
			return err
		}

		var tasksData []byte
		for _, task := range tasks {
			taskItemData, err := serializeItem(task)
			if err != nil {
				return err
			}
			tasksData = append(tasksData, taskItemData...)
		}

		tasksObj := C.ProtobufObj{
			data: unsafe.Pointer(&tasksData[0]),
			size: C.size_t(len(tasksData)),
		}

		var filters_ *C.ProtobufObj = nil
		if len(filters) > 1 {
			filtersObj, err := serialize(&filters[0])
			if err != nil {
				return err
			}

			filters_ = &filtersObj
		}

		C.scheduler_launchTasks(
			C.SchedulerDriverPtr(sdriver.driver),
			&offerObj,
			&tasksObj,
			filters_)
	} else {
		return errors.New("LaunchTasks() failed: scheduler driver not initialized")
	}

	return nil
}
开发者ID:luffyhwl,项目名称:gopark,代码行数:46,代码来源:scheduler.go


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