[ofiwg] definition of a completion in OFI

Hefty, Sean 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.

- Sean

More information about the ofiwg mailing list