ServiceServer sends response at the same priority as request

This commit is contained in:
Pavel Kirienko
2015-07-03 10:02:10 +03:00
parent f015c2de8b
commit b927c1de5f
2 changed files with 4 additions and 1 deletions
@@ -139,6 +139,8 @@ private:
if (response.isResponseEnabled())
{
publisher_.setPriority(request.getPriority()); // Responding at the same priority.
const int res = publisher_.publish(response, TransferTypeServiceResponse, request.getSrcNodeID(),
request.getTransferID());
if (res < 0)
+2 -1
View File
@@ -84,7 +84,7 @@ TEST(ServiceServer, Basic)
frame.setStartOfTransfer(true);
frame.setEndOfTransfer(true);
frame.setPriority(10);
frame.setPriority(i);
uavcan::RxFrame rx_frame(frame, clock_driver.getMonotonic(), clock_driver.getUtc(), 0);
can_driver.ifaces[0].pushRx(rx_frame);
@@ -111,6 +111,7 @@ TEST(ServiceServer, Basic)
ASSERT_EQ(i, fr.getTransferID().get());
ASSERT_EQ(uavcan::TransferTypeServiceResponse, fr.getTransferType());
ASSERT_EQ(i + 0x10, fr.getDstNodeID().get());
ASSERT_EQ(i, fr.getPriority().get());
// Second frame
ASSERT_TRUE(fr.parse(can_driver.ifaces[0].popTxFrame()));