Skip to content
Snippets Groups Projects
Commit ec1368be authored by Rider Linden's avatar Rider Linden
Browse files

Code review results with Nat

parent ed409962
No related branches found
No related tags found
No related merge requests found
/**
* @file llupdloadmanager.cpp
* @file llcoproceduremanager.cpp
* @author Rider Linden
* @brief Singleton class for managing asset uploads to the sim.
*
......@@ -44,18 +44,6 @@ LLCoprocedureManager::LLCoprocedureManager():
mCoroMapping(),
mHTTPPolicy(LLCore::HttpRequest::DEFAULT_POLICY_ID)
{
initializeManager();
}
LLCoprocedureManager::~LLCoprocedureManager()
{
shutdown();
}
//=========================================================================
void LLCoprocedureManager::initializeManager()
{
mShutdown = false;
// *TODO: Retrieve the actual number of concurrent coroutines fro gSavedSettings and
// clamp to a "reasonable" number.
......@@ -74,6 +62,13 @@ void LLCoprocedureManager::initializeManager()
mWakeupTrigger.post(LLSD());
}
LLCoprocedureManager::~LLCoprocedureManager()
{
shutdown();
}
//=========================================================================
void LLCoprocedureManager::shutdown(bool hardShutdown)
{
CoroAdapterMap_t::iterator it;
......@@ -123,7 +118,7 @@ void LLCoprocedureManager::cancelCoprocedure(const LLUUID &id)
return;
}
for (AssetQueue_t::iterator it = mPendingCoprocs.begin(); it != mPendingCoprocs.end(); ++it)
for (CoprocQueue_t::iterator it = mPendingCoprocs.begin(); it != mPendingCoprocs.end(); ++it)
{
if ((*it)->mId == id)
{
......@@ -164,6 +159,10 @@ void LLCoprocedureManager::coprocedureInvokerCoro(LLCoros::self& self, LLCoreHtt
LL_WARNS() << "Coprocedure(" << coproc->mName << ") id=" << coproc->mId.asString() <<
" threw an exception! Message=\"" << e.what() << "\"" << LL_ENDL;
}
catch (...)
{
LL_WARNS() << "A non std::exception was thrown from " << coproc->mName << " with id=" << coproc->mId << "." << LL_ENDL;
}
LL_INFOS() << "Finished coprocedure(" << coproc->mName << ")" << LL_ENDL;
......
/**
* @file llupdloadmanager.h
* @file llcoproceduremanager.h
* @author Rider Linden
* @brief Singleton class for managing asset uploads to the sim.
*
......@@ -97,10 +97,12 @@ class LLCoprocedureManager : public LLSingleton < LLCoprocedureManager >
CoProcedure_t mProc;
};
typedef std::deque<QueuedCoproc::ptr_t> AssetQueue_t;
// we use a deque here rather than std::queue since we want to be able to
// iterate through the queue and potentially erase an entry from the middle.
typedef std::deque<QueuedCoproc::ptr_t> CoprocQueue_t;
typedef std::map<LLUUID, LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t> ActiveCoproc_t;
AssetQueue_t mPendingCoprocs;
CoprocQueue_t mPendingCoprocs;
ActiveCoproc_t mActiveCoprocs;
bool mShutdown;
LLEventStream mWakeupTrigger;
......@@ -111,7 +113,6 @@ class LLCoprocedureManager : public LLSingleton < LLCoprocedureManager >
CoroAdapterMap_t mCoroMapping;
void initializeManager();
void coprocedureInvokerCoro(LLCoros::self& self, LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t httpAdapter);
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment