static void frag_seg_constructor( ompi_btl_usnic_send_segment_t *seg) { ompi_btl_usnic_segment_t *bseg; bseg = &seg->ss_base; bseg->us_type = OMPI_BTL_USNIC_SEG_FRAG; /* some more common initializaiton */ common_send_seg_helper(seg); /* payload starts next byte beyond BTL header */ bseg->us_payload.raw = (uint8_t *)(bseg->us_btl_header + 1); bseg->us_btl_header->payload_type = OMPI_BTL_USNIC_PAYLOAD_TYPE_FRAG; }
static void ack_seg_constructor( ompi_btl_usnic_send_segment_t *ack) { ompi_btl_usnic_segment_t *bseg; bseg = &ack->ss_base; bseg->us_type = OMPI_BTL_USNIC_SEG_ACK; /* some more common initializaiton */ common_send_seg_helper(ack); /* ACK value embedded in BTL header */ bseg->us_btl_header->payload_type = OMPI_BTL_USNIC_PAYLOAD_TYPE_ACK; bseg->us_btl_header->payload_len = 0; bseg->us_sg_entry[0].length = sizeof(bseg->us_btl_header); }