Hi all,

I couldn't find an answer from the man pages, and I didn't want to open a ticket in Github, so I decided to ask this on the mailing list.. so here it is:

I am using the sockets provider, libfabric 1.2.0, and I have an EP_MSG connection between two endpoints. I am using fi_sendmsg on one endpoint to send a scatter-gather list of 3 buffers (two headers and a payload).

On the receiving endpoint I am using fi_recvmsg, having populated only 1 item in the scatter-gather list, expecting to receive the first few bytes of the first header. (That's because this header contains additional information about the overall message size and I need this in order to allocate the payload buffers).

I was expecting the function to fill the data and wait for a next call to collect the rest, however it just fails with FI_ETRUNC, discarding the rest of the message.

Therefore I wanted to ask, if there is there any way to:
1) Wait for CQ when the message arrives
2) Peek the first few bytes (header)
3) Then read the entire buffer

Best,
Ioannis
_______________________________________________
ofiwg mailing list
[email protected]
http://lists.openfabrics.org/mailman/listinfo/ofiwg

Reply via email to