pcm-coordinator/adaptor/pcm_slurm/service/common/ping.go

32 lines
750 B
Go

package slurmer
/*
//#cgo LDFLAGS: -lslurm
#include<stdlib.h>
#include<slurm/slurm.h>
#include<slurm/slurm_errno.h>
// int ping_result;
// ping_result = slurm_ping(int ping)
int slurm_ping(int controller){
int ping_result;
ping_result = slurm_ping(controller);
return ping_result;
}
*/
import "C"
import (
pbslurm "code.gitlink.org.cn/JCCE/PCM.git/adaptor/pcm_slurm/gen/idl"
"context"
)
func (slurmStruct SlurmStruct) GetPingResult(ctx context.Context, req *pbslurm.PingInfoMsgReq) (*pbslurm.PingInfoMsgResp, error) {
cgoIntA := C.int(req.Controller)
Ping_result := C.slurm_ping(cgoIntA)
//C.free(unsafe.Pointer(cgoIntA))
var resp = pbslurm.PingInfoMsgResp{}
resp.PingResult = int32(Ping_result)
return &resp, nil
}