Iterator* LMDBEngine::Find(const Slice& findkey, bool cache) { MDB_val k, data; k.mv_data = const_cast<char*>(findkey.data()); k.mv_size = findkey.size(); MDB_cursor *cursor = NULL; int rc = 0; LMDBContext& holder = m_ctx_local.GetValue(); if (NULL == holder.readonly_txn) { rc = mdb_txn_begin(m_env, NULL, MDB_RDONLY, &holder.readonly_txn); if (rc != 0) { ERROR_LOG("Failed to create txn for iterator for reason:%s", mdb_strerror(rc)); holder.readonly_txn = NULL; return NULL; } } holder.readonly_txn_ref++; rc = mdb_cursor_open(holder.readonly_txn, m_dbi, &cursor); if (0 != rc) { ERROR_LOG("Failed to create cursor for reason:%s", mdb_strerror(rc)); CloseTransaction(); return NULL; } rc = mdb_cursor_get(cursor, &k, &data, MDB_SET_RANGE); LMDBIterator* iter = new LMDBIterator(this, cursor, rc == 0); return iter; }
void CHttpController::Cancel() { if ( iState > EHttpFinished ) { iState = EHttpFinished; } else { if ( iState == EHttpActive ) { CloseTransaction( iTransaction ); } } }
NS_IMETHODIMP nsHttpConnection::OnOutputStreamReady(nsIAsyncOutputStream *out) { NS_ASSERTION(out == mSocketOut, "unexpected stream"); NS_ASSERTION(PR_GetCurrentThread() == gSocketThread, "wrong thread"); // if the transaction was dropped... if (!mTransaction) { LOG((" no transaction; ignoring event\n")); return NS_OK; } nsresult rv = OnSocketWritable(); if (NS_FAILED(rv)) CloseTransaction(mTransaction, rv); return NS_OK; }
void CTestTransaction::MHFRunL(RHTTPTransaction aTransaction, const THTTPEvent& aEvent) { // log the event code THTTPEvent receivedError = aEvent; Machine()->SetErrorDefine(iTransactionName, receivedError.iStatus); if (aEvent.iStatus < 0) { WriteDateStamp(); switch (aEvent.iStatus) { case KErrEtelNoAnswer : Log(_L("CCmdTransaction::MHFRunL(%S) - No Answer! Has the RAS or Internet Connection been enabled???"), &iTransactionName); break; case -3606 : Log(_L("CCmdTransaction::MHFRunL(%S) - Not able to make connection due to invalid or undefined COMMSDB configuration"), &iTransactionName); break; case KErrHttpGeneralHeaderMissingHost : Log(_L("CCmdTransaction::MHFRunL(%S) - General Header missing host information"), &iTransactionName); break; case KErrHttpCantResetRequestBody : Log(_L("CCmdTransaction::MHFRunL(%S) - Cannot reset request body. Redirect received"), &iTransactionName); break; case KErrHttpInvalidHeaderInRequest : Log(_L("CCmdTransaction::MHFRunL(%S) - Invalid Header in Request"), &iTransactionName); break; case KErrHttpEncodeUserAgent : Log(_L("CCmdTransaction::MHFRunL(%S) - Invalid Encode User Agent Header in Request"), &iTransactionName); break; default : Log(_L("CCmdTransaction::MHFRunL(%S) - The error [%d] was unexpected"), &iTransactionName, aEvent.iStatus); break; } return; } TInt statusCode = aTransaction.Response().StatusCode(); WriteDateStamp(); Log(_L("CCmdTransaction::MHFRunL( %S: Event Status Code: %d"), &iTransactionName, statusCode); Machine()->SetResultDefine(iTransactionName, statusCode); switch (aEvent.iStatus) { // The transaction's response is complete case THTTPEvent::EResponseComplete: Log(_L("(%S) : EResponseComplete received (Event Status: %d)"),&iTransactionName, aEvent.iStatus); break; // transaction completed (and successful) case THTTPEvent::ESucceeded: Log(_L("(%S) : ESucceeded received from the VF (Event Status: %d)"), &iTransactionName, aEvent.iStatus); CloseTransaction(); break; // transaction completed (and successful) case THTTPEvent::EFailed: Log(_L("(%S) : Transaction EFailed received (Event Status: %d)"), &iTransactionName, aEvent.iStatus); CloseTransaction(); //Validate(aTransaction); break; case THTTPEvent::EGotResponseHeaders: { // HTTP response headers have been received Log(_L("(%S) : EGotResponseHeaders (%d)"),&iTransactionName, aEvent.iStatus); //TInt statusCode = aTransaction.Response().StatusCode(); //Log(_L("Status Code: %d "), statusCode); //SetCompletionCode(statusCode); DumpRespHeaders(aTransaction); } break; case THTTPEvent::EGotResponseBodyData: { // Some (more) body data has been received (in the HTTP response) Log(_L("(%S) : EGotResponseBodyData received (Event Status: %d"), &iTransactionName, aEvent.iStatus); // for each chunk of data received we have to empty the buffer before to be able to receive MHTTPDataSupplier *body = aTransaction.Response().Body(); body->ReleaseData(); } break; case KErrHttpRequestHasBody: Log(_L("(%S) : KErrHttpRequestHasBody received from the VF (Event Status: %d)"), &iTransactionName, aEvent.iStatus); break; case KErrHttpEntityHeaderMissingContentType: Log(_L("(%S) : KErrHttpEntityHeaderMissingContentType received from the VF (Event Status: %d)"), &iTransactionName, aEvent.iStatus); break; case KErrHttpRequestBodyMissing: Log(_L("(%S) : KErrHttpRequestBodyMissing received from the VF (Event Status: %d)"), &iTransactionName, aEvent.iStatus); break; case KErrTimedOut: //-33 Log(_L("(%S) : KErrTimedOut received from the VF (Event Status: %d)"), &iTransactionName, aEvent.iStatus); break; case KErrHttpRedirectExceededLimit: Log(_L("(%S) : KErrHttpRedirectExceededLimit received (Event Status: %d)"), &iTransactionName, aEvent.iStatus); break; case KErrHttpRedirectNoLocationField: Log(_L("(%S) : KErrHttpRedirectNoLocationField received (Event Status: %d)"), &iTransactionName, aEvent.iStatus); break; default: Log(_L("(%S) : unrecognised event> (Event Status: %d)"), &iTransactionName, aEvent.iStatus); if (aEvent.iStatus < THTTPEvent::ERedirectedPermanently) { Log(_L("Test Failed: The event received was not expected and it's not just a warning")); } break; } if (receivedError == THTTPEvent::EResponseComplete) { Log(_L("CCmdTransaction::MHFRunL (%S) receivedError == EResponseComplete"), &iTransactionName); } else if (receivedError == THTTPEvent::ESucceeded) { Log(_L("CCmdTransaction::MHFRunL (%S) : receivedError == ESucceeded"), &iTransactionName); // Machine()->Domains()->Delete(transNameValueBuf); DoneWaitEvents(); } else if (receivedError == THTTPEvent::EFailed) { // Machine()->Domains()->Delete(transNameValueBuf); DoneWaitEvents(); } else { // Log(_L("CCmdTransaction::MHFRunL : (%S) iTestFail is TRUE"), &transNameValueBuf); DoneWaitEvents(); } }
void CHttpController::Error( RHTTPTransaction& aTransaction, TInt aError ) { CloseTransaction( aTransaction ); iObserver->Error( aError ); iState = EHttpNotified; }
TInt CHttpController::MHFRunError( TInt aError, RHTTPTransaction aTransaction, const THTTPEvent& /*aEvent*/) { CloseTransaction( aTransaction ); Error( aError ); return KErrNone; }