ANSC_STATUS HttpTroFinishedByClient ( ANSC_HANDLE hThisObject, PVOID buffer, ULONG ulSize, ANSC_HANDLE hBufferContext ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PHTTP_TRANS_RECORD_OBJECT pMyObject = (PHTTP_TRANS_RECORD_OBJECT )hThisObject; PHTTP_ADVANCED_PROXY_OBJECT pAdvancedProxy = (PHTTP_ADVANCED_PROXY_OBJECT )pMyObject->hOwnerContext; PHTTP_WAM_INTERFACE pWamIf = (PHTTP_WAM_INTERFACE )pMyObject->hWamIf; PHTTP_SBC_INTERFACE pSbcIf = (PHTTP_SBC_INTERFACE )pMyObject->hSbcIf; PANSC_DAEMON_SOCKET_TCP_OBJECT pClientSocket = (PANSC_DAEMON_SOCKET_TCP_OBJECT)pMyObject->hClientSocket; PANSC_BROKER_SOCKET_TCP_OBJECT pServerSocket = (PANSC_BROKER_SOCKET_TCP_OBJECT)pMyObject->hServerSocket; PHTTP_BMO_REQ_OBJECT pBmoReq = (PHTTP_BMO_REQ_OBJECT )pMyObject->hBmoReq; PANSC_BUFFER_DESCRIPTOR pBufferDesp = (PANSC_BUFFER_DESCRIPTOR )hBufferContext; ULONG ulBmoState = pBmoReq->GetState((ANSC_HANDLE)pBmoReq); if ( (ulBmoState == HTTP_BMO_STATE_COMPLETE ) || (ulBmoState == HTTP_BMO_STATE_OVER_PACKED) ) { if ( pBufferDesp ) { AnscFreeBdo((ANSC_HANDLE)pBufferDesp); } return ANSC_STATUS_UNAPPLICABLE; } buffer = AnscBdoGetBlock (pBufferDesp); ulSize = AnscBdoGetBlockSize(pBufferDesp); returnStatus = pBmoReq->CloseUp ( (ANSC_HANDLE)pBmoReq, (ANSC_HANDLE)pBufferDesp ); return returnStatus; }
ANSC_STATUS HttpWstoFinish ( ANSC_HANDLE hThisObject, PVOID buffer, ULONG ulSize, ANSC_HANDLE hBufferContext ) { ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; PHTTP_WEBS_TRANS_OBJECT pMyObject = (PHTTP_WEBS_TRANS_OBJECT )hThisObject; PHTTP_SIMPLE_SERVER_OBJECT pSimpleServer = (PHTTP_SIMPLE_SERVER_OBJECT )pMyObject->hOwnerContext; PHTTP_WSP_INTERFACE pWspIf = (PHTTP_WSP_INTERFACE )pMyObject->hWspIf; PANSC_DAEMON_SOCKET_TCP_OBJECT pWebSocket = (PANSC_DAEMON_SOCKET_TCP_OBJECT)pMyObject->hWebSocket; PHTTP_BMO_REQ_OBJECT pBmoReq = (PHTTP_BMO_REQ_OBJECT )pMyObject->hBmoReq; PANSC_BUFFER_DESCRIPTOR pBufferDesp = (PANSC_BUFFER_DESCRIPTOR )hBufferContext; ULONG ulBmoState = pBmoReq->GetState((ANSC_HANDLE)pBmoReq); if ( (ulBmoState == HTTP_BMO_STATE_COMPLETE ) || (ulBmoState == HTTP_BMO_STATE_OVER_PACKED) ) { if ( pBufferDesp ) { AnscFreeBdo((ANSC_HANDLE)pBufferDesp); } return ANSC_STATUS_UNAPPLICABLE; } buffer = AnscBdoGetBlock (pBufferDesp); ulSize = AnscBdoGetBlockSize(pBufferDesp); returnStatus = pBmoReq->CloseUp ( (ANSC_HANDLE)pBmoReq, (ANSC_HANDLE)pBufferDesp ); return returnStatus; }