7.6.4.1 Timer Expiry on RequestTimer
This event occurs whenever the requestTimer on an instance of an LDAPRequest expires.
The parameters for this task are as follows:
Name |
Type |
Description |
Optional |
---|---|---|---|
TaskInputLdapRequest |
LDAPRequest |
The LDAPRequest instance on which the requestTimer has expired. |
No |
This task does not return any results.
The task performs the following actions:
For each containingADConnection in ADCList:
If TaskInputLdapRequest is present in containingADConnection.primaryConnection.pendingRequestList, remove TaskInputLdapRequest from containingADConnection.primaryConnection.pendingRequestList.
For each containingConnectionInfo in containingADConnection.referralConnections:
If TaskInputLdapRequest is present in containingConnectionInfo.pendingRequestList, remove TaskInputLdapRequest from containingConnectionInfo.pendingRequestList.
Construct an LDAPMessage, lm, containing an LDAPResult, lr, representing a response for TaskInputLdapRequest.requestMessage, indicating that the request has timed out:
Set lm.messageID to TaskInputLdapRequest.requestMessage.messageID.
Set lr.resultCode to a local implementation-specific error code indicating a timeout has occurred, using an error code value reserved for APIs as specified in [RFC2251] section 4.1.10, Result Message.
Note The Microsoft implementation of LDAP client sets the resultCode of LDAPResult to LDAP_TIMEOUT (0x55) on timer expiration ([MS-ERREF] section 2.4, LDAP error to Win32 mapping).
Set lr.errorMessage and lr.matchedDN to a zero-length string.
Insert the LDAPMessage lm into TaskInputLdapRequest.resultMessages.
Any tasks waiting on results for TaskInputLdapRequest receive the LDAPMessage lm in TaskInputLdapRequest.resultMessages, indicating that the request has timed out.