[ofw] RE: [PATCH] Support for ND over WV (incomplete)

Fab Tillier ftillier at windows.microsoft.com
Thu May 14 16:37:13 PDT 2009


> After giving this more thought...
> 
> >I believe these are the issues that need to be dealt with:
> >
> >- We can safely modify the QP state to error when:
> >	a) a DREQ has been received
> 
> I don't think this is true.  Winverbs cannot safely modify the QP to
> error after receiving a DREQ without confirmation from the user.

I meant in the Disconnect call context.  If the client hasn't explicitly requested a QP state change, you're correct.  Calling Disconnect (now that it will do the QP state change) is an explicit request.

> >	b) a DREP has been received
> 
> This still holds.

Yes, because to get a DREP, we should have send a DREQ.

> This means that Disconnect[andFlush] may modify the QP on the downcall
> if a DREQ has been received, otherwise the modify must be deferred
> until either a DREQ or DREP is received.

Correct.  This is what the ND proxy code does currently.

> My own preferences are:
> 
> - Make it easy to use a single overlap structure per connection.
> - Have a single Disconnect call.
> 
> I don't see any easy way to accomplish the first objective with both
> NotifyDisconnect and Disconnect taking overlapped structures.

If the user wants to call Disconnect, they no longer need their outstanding NotifyDisconnect.  They can call CancelOverlappedRequests, and once the single overlapped is complete, they can reuse it to call Disconnect.

-Fab




More information about the ofw mailing list