diff options
| author | Edwin Mons <edwin.mons@isode.com> | 2018-10-29 14:32:15 (GMT) |
|---|---|---|
| committer | Edwin Mons <edwin.mons@isode.com> | 2018-11-14 10:20:55 (GMT) |
| commit | 5758cc48f5f340132d19e79f647dd5d3ad8c54fc (patch) | |
| tree | d4c6d449344d99f333ee49b834ac76ab848b6e78 /Swiften/StreamManagement | |
| parent | 961a997b406cc1283f316c88bb0475e35e7cc9aa (diff) | |
| download | swift-5758cc48f5f340132d19e79f647dd5d3ad8c54fc.zip swift-5758cc48f5f340132d19e79f647dd5d3ad8c54fc.tar.bz2 | |
Fix Stanza Ack maximum and tests
The stanza ack code now uses a constexpr without numeric cast to
calculate the maximum, and test code uses the constant UINT32_MAX from
limits, both of which should result in the same number.
Test-Information:
Unit tests pass on macOS 10.14
Change-Id: Iba8fc779e52699d480d1ce458df0c6581a16ad06
Diffstat (limited to 'Swiften/StreamManagement')
4 files changed, 12 insertions, 14 deletions
diff --git a/Swiften/StreamManagement/StanzaAckRequester.cpp b/Swiften/StreamManagement/StanzaAckRequester.cpp index 8941f4a..a0f5b70 100644 --- a/Swiften/StreamManagement/StanzaAckRequester.cpp +++ b/Swiften/StreamManagement/StanzaAckRequester.cpp | |||
| @@ -1,19 +1,17 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2010-2016 Isode Limited. | 2 | * Copyright (c) 2010-2018 Isode Limited. |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * See the COPYING file for more information. | 4 | * See the COPYING file for more information. |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | #include <Swiften/StreamManagement/StanzaAckRequester.h> | 7 | #include <Swiften/StreamManagement/StanzaAckRequester.h> |
| 8 | 8 | ||
| 9 | #include <boost/numeric/conversion/cast.hpp> | ||
| 10 | |||
| 11 | #include <Swiften/Base/Log.h> | 9 | #include <Swiften/Base/Log.h> |
| 12 | #include <Swiften/Elements/Message.h> | 10 | #include <Swiften/Elements/Message.h> |
| 13 | 11 | ||
| 14 | namespace Swift { | 12 | namespace Swift { |
| 15 | 13 | ||
| 16 | static const unsigned int MAX_HANDLED_STANZA_COUNT = boost::numeric_cast<unsigned int>((1ULL<<32) - 1); | 14 | static const unsigned int MAX_HANDLED_STANZA_COUNT = static_cast<unsigned int>((1ULL<<32) - 1); |
| 17 | 15 | ||
| 18 | StanzaAckRequester::StanzaAckRequester() : lastHandledStanzasCount(0) { | 16 | StanzaAckRequester::StanzaAckRequester() : lastHandledStanzasCount(0) { |
| 19 | 17 | ||
diff --git a/Swiften/StreamManagement/StanzaAckResponder.cpp b/Swiften/StreamManagement/StanzaAckResponder.cpp index b6171d0..bfe6f4d 100644 --- a/Swiften/StreamManagement/StanzaAckResponder.cpp +++ b/Swiften/StreamManagement/StanzaAckResponder.cpp | |||
| @@ -1,16 +1,14 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2010 Isode Limited. | 2 | * Copyright (c) 2010-2018 Isode Limited. |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * See the COPYING file for more information. | 4 | * See the COPYING file for more information. |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | #include <Swiften/StreamManagement/StanzaAckResponder.h> | 7 | #include <Swiften/StreamManagement/StanzaAckResponder.h> |
| 8 | 8 | ||
| 9 | #include <boost/numeric/conversion/cast.hpp> | ||
| 10 | |||
| 11 | namespace Swift { | 9 | namespace Swift { |
| 12 | 10 | ||
| 13 | static const unsigned int MAX_HANDLED_STANZA_COUNT = boost::numeric_cast<unsigned int>((1ULL<<32) - 1); | 11 | static const unsigned int MAX_HANDLED_STANZA_COUNT = static_cast<unsigned int>((1ULL << 32) - 1); |
| 14 | 12 | ||
| 15 | StanzaAckResponder::StanzaAckResponder() : handledStanzasCount(0) { | 13 | StanzaAckResponder::StanzaAckResponder() : handledStanzasCount(0) { |
| 16 | } | 14 | } |
diff --git a/Swiften/StreamManagement/UnitTest/StanzaAckRequesterTest.cpp b/Swiften/StreamManagement/UnitTest/StanzaAckRequesterTest.cpp index ce16e1f..e0ebefd 100644 --- a/Swiften/StreamManagement/UnitTest/StanzaAckRequesterTest.cpp +++ b/Swiften/StreamManagement/UnitTest/StanzaAckRequesterTest.cpp | |||
| @@ -1,11 +1,12 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2010-2016 Isode Limited. | 2 | * Copyright (c) 2010-2018 Isode Limited. |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * See the COPYING file for more information. | 4 | * See the COPYING file for more information. |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | #include <cstdint> | ||
| 8 | |||
| 7 | #include <boost/bind.hpp> | 9 | #include <boost/bind.hpp> |
| 8 | #include <boost/numeric/conversion/cast.hpp> | ||
| 9 | 10 | ||
| 10 | #include <cppunit/extensions/HelperMacros.h> | 11 | #include <cppunit/extensions/HelperMacros.h> |
| 11 | #include <cppunit/extensions/TestFactoryRegistry.h> | 12 | #include <cppunit/extensions/TestFactoryRegistry.h> |
| @@ -111,7 +112,7 @@ class StanzaAckRequesterTest : public CppUnit::TestFixture { | |||
| 111 | // Handle stanza ack count wrapping, as per the XEP | 112 | // Handle stanza ack count wrapping, as per the XEP |
| 112 | void testHandleAckReceived_WrapAround() { | 113 | void testHandleAckReceived_WrapAround() { |
| 113 | std::shared_ptr<StanzaAckRequester> testling(createRequester()); | 114 | std::shared_ptr<StanzaAckRequester> testling(createRequester()); |
| 114 | testling->lastHandledStanzasCount = boost::numeric_cast<unsigned int>((1ULL<<32) - 1); | 115 | testling->lastHandledStanzasCount = UINT32_MAX; |
| 115 | testling->handleStanzaSent(createMessage("m1")); | 116 | testling->handleStanzaSent(createMessage("m1")); |
| 116 | testling->handleStanzaSent(createMessage("m2")); | 117 | testling->handleStanzaSent(createMessage("m2")); |
| 117 | 118 | ||
diff --git a/Swiften/StreamManagement/UnitTest/StanzaAckResponderTest.cpp b/Swiften/StreamManagement/UnitTest/StanzaAckResponderTest.cpp index ffdabe9..ee4b913 100644 --- a/Swiften/StreamManagement/UnitTest/StanzaAckResponderTest.cpp +++ b/Swiften/StreamManagement/UnitTest/StanzaAckResponderTest.cpp | |||
| @@ -1,11 +1,12 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (c) 2010-2016 Isode Limited. | 2 | * Copyright (c) 2010-2018 Isode Limited. |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * See the COPYING file for more information. | 4 | * See the COPYING file for more information. |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | #include <cstdint> | ||
| 8 | |||
| 7 | #include <boost/bind.hpp> | 9 | #include <boost/bind.hpp> |
| 8 | #include <boost/numeric/conversion/cast.hpp> | ||
| 9 | 10 | ||
| 10 | #include <cppunit/extensions/HelperMacros.h> | 11 | #include <cppunit/extensions/HelperMacros.h> |
| 11 | #include <cppunit/extensions/TestFactoryRegistry.h> | 12 | #include <cppunit/extensions/TestFactoryRegistry.h> |
| @@ -63,7 +64,7 @@ class StanzaAckResponderTest : public CppUnit::TestFixture { | |||
| 63 | // Handle stanza ack count wrapping, as per the XEP | 64 | // Handle stanza ack count wrapping, as per the XEP |
| 64 | void testHandleAckRequestReceived_WrapAround() { | 65 | void testHandleAckRequestReceived_WrapAround() { |
| 65 | std::shared_ptr<StanzaAckResponder> testling(createResponder()); | 66 | std::shared_ptr<StanzaAckResponder> testling(createResponder()); |
| 66 | testling->handledStanzasCount = boost::numeric_cast<unsigned int>((1ULL<<32) - 1); | 67 | testling->handledStanzasCount = UINT32_MAX; |
| 67 | testling->handleStanzaReceived(); | 68 | testling->handleStanzaReceived(); |
| 68 | testling->handleStanzaReceived(); | 69 | testling->handleStanzaReceived(); |
| 69 | 70 | ||
Swift