NDKPI 工作要求張貼需求
取用者的工作要求張貼規則
NDK 取用者會在啟動器佇列上張貼下列類型的工作要求:
- NdkBind (NDK_FN_BIND)
- NdkFastRegister (NDK_FN_FAST_REGISTER)
- NdkInvalidate (NDK_FN_INVALIDATE)
- NdkRead (NDK_FN_READ)
- NdkSend (NDK_FN_SEND)
- NdkSendAndInvalidate (NDK_FN_SEND_AND_INVALIDATE)
- NdkWrite (NDK_FN_WRITE)
取用者會在接收佇列上張貼 NdkReceive (NDK_FN_RECEIVE) 要求。
取用者會以序列化的方式,將所有這些要求張貼至 NDK_QP 或 NDK_SRQ 相同的個別佇列。 換句話說,取用者在屬於 NDK_QP 或 NDK_SRQ的相同個別佇列上,永遠不會有兩個並行呼叫任何工作要求函式。
例如,這表示不會發出並行 NdkReceive 呼叫、不會發出並行 NdkSend 和 NdkWrite 呼叫,但並行 NdkReceive 和 NdkWrite 呼叫可能會在相同的 NDK_QP上發出。
提供者的工作要求張貼規則
提供者不應該在上述工作要求函式內有任何多餘的鎖定,因為它們保證由取用者序列化。
提供者必須能夠處理 NdkFlush (NDK_FN_FLUSH) 呼叫,這些呼叫可與相同 NDK_QP上的工作要求呼叫同時呼叫。
提供者必須能夠處理後續NDK_CONNECTOR物件的NdkCloseConnector呼叫 (,該NDK_QP) 的後續NDK_CONNECTOR物件上,該) 可能會在相同的NDK_QP上同時呼叫工作要求呼叫。