Requisitos de postagem de solicitação de trabalho do NDKPI

Regras de postagem de solicitação de trabalho para o consumidor

O consumidor do NDK postará os seguintes tipos de solicitações de trabalho na fila do iniciador:

O consumidor postará solicitações NdkReceive (NDK_FN_RECEIVE) na fila de recebimento.

O consumidor postará todas essas solicitações na mesma fila individual em um NDK_QP ou NDK_SRQ de forma serializada. Em outras palavras, o consumidor nunca terá duas chamadas simultâneas para qualquer função de solicitação de trabalho na mesma fila individual pertencente a um NDK_QP ou NDK_SRQ.

Isso significa, por exemplo, que chamadas simultâneas de NdkReceive não serão emitidas, chamadas simultâneas de NdkSend e NdkWrite não serão emitidas, mas chamadas simultâneas de NdkReceive e NdkWrite podem ser emitidas no mesmo NDK_QP.

Regras de postagem de solicitação de trabalho para o provedor

O provedor não deve ter nenhum bloqueio redundante dentro das funções de solicitação de trabalho acima, pois eles têm a garantia de serem serializados pelo consumidor.

O provedor deve ser capaz de lidar com chamadas NdkFlush (NDK_FN_FLUSH) que podem ser chamadas simultaneamente com uma chamada de solicitação de trabalho no mesmo NDK_QP.

O provedor deve ser capaz de lidar com uma chamada NdkCloseConnector (no objeto sucessor NDK_CONNECTOR para o NDK_QP) que pode ser chamada simultaneamente com uma chamada de solicitação de trabalho no mesmo NDK_QP.

NDKPI (Network Direct Kernel Provider Interface)