TaskD内部接口

Register接口(内部接口,严禁调用)

功能说明

注册角色。

函数原型

rpc Register(RegisterReq) returns (Ack)

输入参数说明

表 1 参数说明

参数 类型(Protobuf定义) 说明
RegisterReq message RegisterReq {

string uuid = 1;

Position pos = 2;

}

message Position {

string role = 1;

string serverRank = 2;

string processRank = 3;

}

uuid:注册消息UUID

pos:注册消息来源

role:注册的角色:如Proxy,Worker,Agent,Mgr

serverRank:角色所在server Rank信息

processRank:角色所在进程Rank信息。Worker角色需要填写;Proxy、Agent、Mgr角色不涉及此信息,统一填写-1

返回值说明

表 2 返回值说明

返回值 类型(Protobuf定义) 说明
Ack message Ack {

string uuid = 1;

uint32 code = 2;

Position src = 3;

}

uuid:与注册消息UUID一致

code:返回码

  • 取值为0:注册成功
  • 其他值:注册失败
  • src:Ack确认消息返回方角色位置信息

    PathDiscovery(内部接口,严禁调用)

    功能说明

    路径发现。

    函数原型

    rpc PathDiscovery(PathDiscoveryReq) returns (Ack)

    输入参数说明

    表 1 参数说明

    参数 类型(Protobuf定义) 说明
    PathDiscoveryReq message PathDiscoveryReq {

    string uuid = 1;

    Position proxyPos = 2;

    repeated Position path = 3;

    }

    uuid:消息UUID

    proxyPos:PathDiscovery请求发起角色的位置信息

    path:PathDiscovery请求经过的角色位置信息列表

    返回值说明

    表 2 返回值说明

    返回值 类型(Protobuf定义) 说明
    Ack message Ack {

    string uuid = 1;

    uint32 code = 2;

    Position src = 3;

    }

    uuid:与PathDiscovery消息UUID一致

    code:返回码

    • 取值为0:PathDiscovery接口调用成功
    • 其他值:PathDiscovery接口调用失败

    src:Ack确认消息返回方角色位置信息

    TransferMessage(内部接口,严禁调用)

    功能说明

    发送消息。

    函数原型

    rpc TransferMessage(Message) returns (Ack)

    输入参数说明

    表 1 参数说明

    参数 类型(Protobuf定义) 说明
    Message

    message MessageHeader {

    string uuid = 1;

    string mtype = 2;

    bool sync = 3;

    Position src = 4;

    Position dst = 5;

    int64 createTime = 6;

    }

    message Message {

    MessageHeader header = 1;

    string body = 2;

    }

    uuid:消息UUID

    mtype:消息类型

    sync:是否同步发送

    src:消息来源信息

    dst:消息目的信息

    createTime:消息创建时间戳

    header:消息头

    body:消息体

    返回值说明

    表 2 返回值说明

    返回值 类型(Protobuf定义) 说明
    Ack message Ack {

    string uuid = 1;

    uint32 code = 2;

    Position src = 3;

    }

    uuid:与MessageHeader中的消息UUID一致

    code:返回码

    • 取值为0:消息发送成功
    • 其他值:消息发送失败

    src:Ack确认消息返回方角色位置信息

    InitServerDownStream(内部接口,严禁调用)

    功能说明

    从服务端订阅消息。

    函数原型

    rpc InitServerDownStream(stream Ack) returns (stream Message)

    输入参数说明

    表 1 参数说明

    参数 类型(Protobuf定义) 说明
    stream Ack

    message MessageHeader {

    string uuid = 1;

    string mtype = 2;

    bool sync = 3;

    Position src = 4;

    Position dst = 5;

    int64 createTime = 6;

    }

    message Message {

    MessageHeader header = 1;

    string body = 2;

    }

    uuid:消息UUID

    mtype:消息类型

    sync:是否同步发送

    src:消息来源信息

    dst:消息目的信息

    createTime:消息创建时间戳

    header:消息头

    body:消息体

    返回值说明

    表 2 返回值说明

    返回值 类型(Protobuf定义) 说明
    stream Message message Ack {

    string uuid = 1;

    uint32 code = 2;

    Position src = 3;

    }

    uuid:与Message.uuid一致

    code:返回码

    • 取值为0:消息发送成功
    • 其他值:消息发送失败

    src:Ack确认消息返回方角色位置信息

    run_log(内部接口,严禁修改调用)

    功能说明

    TaskD日志对象。

    Validator(内部接口,严禁修改调用)

    功能说明

    外部参数校验类。

    FileValidator(内部接口,严禁修改调用)

    功能说明

    外部参数校验类。

    StringValidator(内部接口,严禁修改调用)

    功能说明

    外部参数校验类。

    DirectoryValidator(内部接口,严禁修改调用)

    功能说明

    外部参数校验类。

    IntValidator(内部接口,严禁修改调用)

    功能说明

    外部参数校验类。

    MapValidator(内部接口,严禁修改调用)

    功能说明

    外部参数校验类。

    RankSizeValidator(内部接口,严禁修改调用)

    功能说明

    外部参数校验类。

    ClassValidator(内部接口,严禁修改调用)

    功能说明

    外部参数校验类。

    返回码

    TaskD内部接口返回码如下表所示。

    表 1 TaskD内部接口返回码

    返回码 含义
    NilMessage 4000 消息为空
    NilHeader 4001 消息头为空
    NilPosition 4002 位置信息为空
    DstRoleIllegal 4003 目的角色非法
    DstSrvRankIllegal 4004 目的角色的server Rank非法
    DstProcessRankIllegal 4005 目的角色的进程Rank非法
    DstTypeIllegal 4006 目的角色类型非法
    ClientErr 4999 TaskD客户端错误
    RecvBufNil 5000 接收缓冲区为空
    RecvBufBusy 5001 接收缓冲区阻塞
    NoRoute 5002 没有路由路径
    ExceedMaxRegistryNum 5003 TaskD网络注册超过最大限制
    ServerErr 5999 TaskD服务端错误
    NetworkSendLost 6000 消息发送丢失
    NetworkAckLost 6001 消息ACK丢失
    NetStreamNotInited 6002 gRPC流未初始化
    NetErr 6999 TaskD网络错误