[ofiwg] fi_msg : Is it possible to receive partial data from the message?
ioannis.charalampidis at cern.ch
Thu Jan 21 05:13:34 PST 2016
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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the ofiwg