[ofiwg] definition of a completion in OFI
jgunthorpe at obsidianresearch.com
Thu Mar 5 11:29:54 PST 2015
On Thu, Mar 05, 2015 at 07:18:02PM +0000, Hefty, Sean wrote:
> At the Data Source, DDP Message transfer is considered completed
> when the reliable, in-order transport LLP has indicated that the
> transfer will occur reliably. Note that this in no way restricts the
> LLP from buffering the data at either the Data Source or Data Sink.
> Thus at the Data Source, completion of a DDP Message does not
> necessarily mean that the Data Sink has received the message.
There is an interesting quirk with TCP sockets, if one side closes both
sides of a socket then the other side will be able to read()
everything out of it.
HOWEVER, if the other side does a write() into the now closed socket
before reading the EOS, the error that results will effectively drop
any read() data.
I'd expect this quirk causes same behavior for iWarp as IB: closing a
QP with active send work (meaning not completed at the reciever side)
is not well defined.
More information about the ofiwg