ANSC_STATUS HttpSpoDestroyBmoReqPool ( ANSC_HANDLE hThisObject ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PHTTP_SIMPLE_PROXY_OBJECT pMyObject = (PHTTP_SIMPLE_PROXY_OBJECT )hThisObject; PHTTP_SIMPLE_PROXY_PROPERTY pProperty = (PHTTP_SIMPLE_PROXY_PROPERTY)&pMyObject->Property; PHTTP_BMO_REQ_OBJECT pBmoReq = NULL; PSINGLE_LINK_ENTRY pSLinkEntry = NULL; AnscAcquireLock(&pMyObject->BmoReqSListLock); pSLinkEntry = AnscSListPopEntry(&pMyObject->BmoReqSList); while ( pSLinkEntry ) { pBmoReq = ACCESS_HTTP_BMO_REQ_OBJECT(pSLinkEntry); pSLinkEntry = AnscSListPopEntry(&pMyObject->BmoReqSList); pBmoReq->Remove((ANSC_HANDLE)pBmoReq); } AnscReleaseLock(&pMyObject->BmoReqSListLock); return ANSC_STATUS_SUCCESS; }
ANSC_STATUS HttpSpoReleaseBmoReq ( ANSC_HANDLE hThisObject, ANSC_HANDLE hBmoReq ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PHTTP_SIMPLE_PROXY_OBJECT pMyObject = (PHTTP_SIMPLE_PROXY_OBJECT )hThisObject; PHTTP_SIMPLE_PROXY_PROPERTY pProperty = (PHTTP_SIMPLE_PROXY_PROPERTY)&pMyObject->Property; PHTTP_BMO_REQ_OBJECT pBmoReq = (PHTTP_BMO_REQ_OBJECT )hBmoReq; pBmoReq->Reset((ANSC_HANDLE)pBmoReq); if ( pMyObject->ProxyMode & HTTP_SPO_MODE_COMPACT ) { pBmoReq->Remove((ANSC_HANDLE)pBmoReq); } else { AnscAcquireLock (&pMyObject->BmoReqSListLock); AnscSListPushEntry(&pMyObject->BmoReqSList, &pBmoReq->Linkage); AnscReleaseLock (&pMyObject->BmoReqSListLock); } return ANSC_STATUS_SUCCESS; }