Skip to content
Snippets Groups Projects

Potential fix for instance::ObjectReader for IceConnection refused when...

Closed Fabian Tërnava requested to merge feature/selectingMemoryServersGUI into master
3 files
+ 18
16
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -37,14 +37,11 @@ namespace armarx::armem::obj::instance
try
{
// simply wait until memory is ready. Do nothing with reader but get prx
auto r = memoryNameSystem.useReader(p.memoryName);
auto memoryReaderClient = memoryNameSystem.useReader(p.memoryName);
// cast MemoryPrx to objPoseStoragePrx
this->objPoseStorage =
objpose::ObjectPoseStorageInterfacePrx::checkedCast(r.readingPrx);
this->readerPrx = memoryReaderClient.readingPrx;
ARMARX_IMPORTANT << "Connected to Memory and ObjectPoseStorage '" << p.memoryName
<< "'";
ARMARX_IMPORTANT << "Connected to Memory '" << p.memoryName << "'";
}
catch (const armem::error::CouldNotResolveMemoryServer& e)
{
@@ -58,7 +55,7 @@ namespace armarx::armem::obj::instance
const armarx::core::time::Duration& until)
{
std::map<std::string, bool> ret;
auto providers = objPoseStorage->getAvailableProvidersInfo();
auto providers = getObjectPoseStorage()->getAvailableProvidersInfo();
for (const auto& [k, p] : providers)
{
// TODO: check supported objects?
@@ -81,7 +78,7 @@ namespace armarx::armem::obj::instance
req.request.objectIDs = {requestObject};
req.request.relativeTimeoutMS = until.toMilliSeconds();
auto requestResult = objPoseStorage->requestObjects(req);
auto requestResult = getObjectPoseStorage()->requestObjects(req);
if (requestResult.results.count(requestObject))
{
@@ -95,7 +92,7 @@ namespace armarx::armem::obj::instance
{
// TODO: Shall we throw an exception if no instance index is set?
auto objectPoses = objPoseStorage->getObjectPoses();
auto objectPoses = getObjectPoseStorage()->getObjectPoses();
for (const auto& pose : objectPoses)
{
ObjectID oid;
@@ -114,7 +111,7 @@ namespace armarx::armem::obj::instance
Reader::queryLatestObjectInstances()
{
std::map<std::string, objpose::ObjectPose> ret;
auto objectPoses = objPoseStorage->getObjectPoses();
auto objectPoses = getObjectPoseStorage()->getObjectPoses();
for (const auto& pose : objectPoses)
{
ObjectID oid;
@@ -128,7 +125,7 @@ namespace armarx::armem::obj::instance
Reader::queryLatestObjectInstances(const ObjectID& classId)
{
std::map<std::string, objpose::ObjectPose> ret;
auto objectPoses = objPoseStorage->getObjectPoses();
auto objectPoses = getObjectPoseStorage()->getObjectPoses();
for (const auto& pose : objectPoses)
{
ObjectID oid;
@@ -142,4 +139,10 @@ namespace armarx::armem::obj::instance
return ret;
}
objpose::ObjectPoseStorageInterfacePrx
Reader::getObjectPoseStorage() const
{
return objpose::ObjectPoseStorageInterfacePrx::checkedCast(readerPrx);
}
} // namespace armarx::armem::obj::instance
Loading