Skip to content
Snippets Groups Projects
Commit ea4c8801 authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Move code to functions

parent 37a09ed2
No related branches found
No related tags found
2 merge requests!102ArMem Memory Updates,!100Memory QueryBuilder
......@@ -72,45 +72,10 @@ namespace armarx
createRemoteGuiTab();
RemoteGui_startRunningTask();
{
ARMARX_IMPORTANT << "Waiting for memory '" << memoryName << "'.";
armem::Time start = armem::Time::now();
armem::data::WaitForMemoryInput input;
input.name = memoryName;
armem::data::WaitForMemoryResult result = memoryNameSystem->waitForMemory(input);
if (result.success && result.proxy)
{
memory = result.proxy;
usingProxy(memory->ice_getIdentity().name);
}
ARMARX_IMPORTANT << "Got memory '" << memoryName << "'"
<< " (took " << armem::toStringMilliSeconds(armem::Time::now() - start) << ").";
}
waitForMemory();
ARMARX_CHECK_NOT_NULL(memory);
if (true)
{
armem::data::AddSegmentInput input;
input.coreSegmentName = "ExampleModality";
input.providerSegmentName = "FancyMethodModality";
ARMARX_IMPORTANT
<< "Adding segment:"
<< "\n- core segment: \t'" << input.coreSegmentName << "'"
<< "\n- provider segment: \t'" << input.providerSegmentName << "'"
;
armem::data::AddSegmentsResult results = memory->addSegments({input});
armem::data::AddSegmentResult& result = results.at(0);
ARMARX_INFO << "Output: "
<< "\n- success: \t" << result.success
<< "\n- segmentID: \t" << result.segmentID
<< "\n- errorMessage: \t" << result.errorMessage
;
providerID = armem::MemoryID::fromString(result.segmentID);
}
providerID = addProviderSegment();
entityID = providerID;
entityID.entityName = "example_entity";
......@@ -143,46 +108,8 @@ namespace armarx
armem::Writer writer(memory);
armem::MemoryID snapshotID;
{
armem::Commit commit;
armem::EntityUpdate& update = commit.updates.emplace_back();
update.entityID = entityID;
update.timeCreated = armem::Time::now();
update.instancesData = { new aron::data::AronData(), new aron::data::AronData() };
ARMARX_IMPORTANT
<< "Committing:"
<< "\n- entityID: \t'" << update.entityID.str() << "'"
;
armem::CommitResult commitResult = writer.commit(commit);
ARMARX_CHECK_EQUAL(commitResult.results.size(), 1);
armem::EntityUpdateResult& result = commitResult.results.at(0);
ARMARX_INFO << result;
snapshotID = result.snapshotID;
}
{
armem::Commit commit;
for (int i = 0; i < 3; ++i)
{
armem::EntityUpdate& update = commit.updates.emplace_back();
update.entityID = entityID;
update.timeCreated = armem::Time::now() + armem::Time::seconds(i);
for (int j = 0; j < i; ++j)
{
update.instancesData.push_back(new aron::data::AronData());
}
}
ARMARX_INFO << "Commiting " << commit.updates.size() << " more updates.";
armem::CommitResult commitResult = writer.commit(commit);
ARMARX_CHECK_EQUAL(commitResult.results.size(), commit.updates.size());
}
armem::MemoryID snapshotID = commitSingleSnapshot(writer, entityID);
commitMultipleSnapshots(writer, entityID, 3);
if (true)
{
......@@ -314,6 +241,94 @@ namespace armarx
// Fetch new data of example_entity and do something with it.
}
void ArMemExampleClient::waitForMemory()
{
ARMARX_IMPORTANT << "Waiting for memory '" << memoryName << "'.";
armem::Time start = armem::Time::now();
armem::data::WaitForMemoryInput input;
input.name = memoryName;
armem::data::WaitForMemoryResult result = memoryNameSystem->waitForMemory(input);
if (result.success && result.proxy)
{
memory = result.proxy;
usingProxy(memory->ice_getIdentity().name);
ARMARX_IMPORTANT << "Got memory '" << memoryName << "'"
<< " (took " << armem::toStringMilliSeconds(armem::Time::now() - start) << ").";
}
else
{
ARMARX_ERROR << result.errorMessage;
}
}
armem::MemoryID ArMemExampleClient::addProviderSegment()
{
armem::data::AddSegmentInput input;
input.coreSegmentName = "ExampleModality";
input.providerSegmentName = "FancyMethodModality";
ARMARX_IMPORTANT
<< "Adding segment:"
<< "\n- core segment: \t'" << input.coreSegmentName << "'"
<< "\n- provider segment: \t'" << input.providerSegmentName << "'"
;
armem::data::AddSegmentsResult results = memory->addSegments({input});
armem::data::AddSegmentResult& result = results.at(0);
ARMARX_INFO << "Output: "
<< "\n- success: \t" << result.success
<< "\n- segmentID: \t" << result.segmentID
<< "\n- errorMessage: \t" << result.errorMessage
;
return armem::MemoryID::fromString(result.segmentID);
}
armem::MemoryID ArMemExampleClient::commitSingleSnapshot(armem::Writer& writer, const armem::MemoryID& entityID)
{
armem::Commit commit;
armem::EntityUpdate& update = commit.updates.emplace_back();
update.entityID = entityID;
update.timeCreated = armem::Time::now();
update.instancesData = { new aron::data::AronData(), new aron::data::AronData() };
ARMARX_IMPORTANT
<< "Committing:"
<< "\n- entityID: \t'" << update.entityID.str() << "'"
;
armem::CommitResult commitResult = writer.commit(commit);
ARMARX_CHECK_EQUAL(commitResult.results.size(), 1);
armem::EntityUpdateResult& result = commitResult.results.at(0);
ARMARX_INFO << result;
return result.snapshotID;
}
void ArMemExampleClient::commitMultipleSnapshots(armem::Writer& writer, const armem::MemoryID& entityID, int num)
{
armem::Commit commit;
for (int i = 0; i < num; ++i)
{
armem::EntityUpdate& update = commit.updates.emplace_back();
update.entityID = entityID;
update.timeCreated = armem::Time::now() + armem::Time::seconds(i);
for (int j = 0; j < i; ++j)
{
update.instancesData.push_back(new aron::data::AronData());
}
}
ARMARX_INFO << "Commiting " << commit.updates.size() << " more updates.";
armem::CommitResult commitResult = writer.commit(commit);
ARMARX_CHECK_EQUAL(commitResult.results.size(), commit.updates.size());
}
bool ArMemExampleClient::primitives(armem::Writer& writer)
{
......
......@@ -109,6 +109,13 @@ namespace armarx
void example_entityUpdated(const armem::MemoryID& id);
// Examples
void waitForMemory();
armem::MemoryID addProviderSegment();
armem::MemoryID commitSingleSnapshot(armem::Writer& writer, const armem::MemoryID& entityID);
void commitMultipleSnapshots(armem::Writer& writer, const armem::MemoryID& entityID, int num = 3);
bool queryLatestRawIce(const armem::MemoryID& entityID);
bool querySnapshot(const armem::MemoryID& snapshotID);
......
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