forked from JointCloud/pcm-coordinator
32 lines
750 B
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
|
|
}
|