HcommChannelDesc

Function

Defines the channel parameters between components.

Prototype

typedef struct {
    CommAbiHeader header;             /* ABI header, including version information */
    EndpointDesc remoteEndpoint;      /* Remote network device description */
    uint32_t notifyNum;               /* Number of synchronization signals used on the channel */

    // memHandle is not required when exchangeAllMems = True.
    bool exchangeAllMems;             /* Controls whether to exchange the memory information registered on the local network device. */
    HcommMemHandle *memHandles;       /* Memory handles to be exchanged, registered with the communicator. Invalid when exchangeAllMems=True. */
    uint32_t memHandleNum;            /* Number of memory handles to be exchanged, registered with the communicator. Invalid when exchangeAllMems=True. */
    HcommSocket socket;               /* Socket handle */
    uint16_t port;                    /* Socket listening port*/
    union {
        uint8_t raws[128];            /* General buffer */
        struct {
            uint32_t queueNum;       /* Number of QPs. Currently, only one QP is supported. */
            uint32_t retryCnt;       /* Maximum number of retransmissions. The value ranges from 0 to 7. The default value is 7. */
            uint32_t retryInterval;   /* Retransmission interval. The value ranges from 5 to 24. The default value is 20 (corresponding to 4.096 × 2^20 μs). */
            uint8_t tc;              /* Traffic category (QoS). The value ranges from 0 to 255. The default value is 132. */
            uint8_t sl;              /* Service level (QoS). The value ranges from 0 to 7. The default value is 4. */
        } roceAttr;
 struct {
     uint32_t qos;            /* HCCS QoS */
 } hccsAttr;
    };
} HcommChannelDesc;