[ofiwg] definition of a completion in OFI
sean.hefty at intel.com
Wed Mar 4 15:27:10 PST 2015
> Essentially what you are talking about here is adding a synchronous
> 'end of stream mark' like TCP - the mark pushes through all data and
> becomes visible as a guarenteed event on the far side.
> Realistically, most apps that can close a connection need something
> like this. I have fought with races in IB CM land in exactly this
> area, and it is very difficult to resolve.
The intent with this option is to avoid adding implementation requirements on the completion processing. E.g. if a provider generates a completion only after the request has been acked, then shutdown should be a no-op relative to completion processing.
What it does do is require the app to call shutdown (or close as indicated below).
> Close should not be different from bidirectional shutdown:
> - Data sent prior to close is delivered if the far side is
> willing to receive.
> - The far send sees an error when it attempts to send
I'm okay with this.
More information about the ofiwg