aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Net/src/ICMPPacketImpl.cpp
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:44:49 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:49 +0300
commit718c552901d703c502ccbefdfc3c9028d608b947 (patch)
tree46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/poco/Net/src/ICMPPacketImpl.cpp
parente9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff)
downloadydb-718c552901d703c502ccbefdfc3c9028d608b947.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/poco/Net/src/ICMPPacketImpl.cpp')
-rw-r--r--contrib/libs/poco/Net/src/ICMPPacketImpl.cpp206
1 files changed, 103 insertions, 103 deletions
diff --git a/contrib/libs/poco/Net/src/ICMPPacketImpl.cpp b/contrib/libs/poco/Net/src/ICMPPacketImpl.cpp
index 48092c0094..d0f2592f61 100644
--- a/contrib/libs/poco/Net/src/ICMPPacketImpl.cpp
+++ b/contrib/libs/poco/Net/src/ICMPPacketImpl.cpp
@@ -1,103 +1,103 @@
-//
-// ICMPPacketImpl.cpp
-//
-// Library: Net
-// Package: ICMP
-// Module: ICMPPacketImpl
-//
-// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#include "Poco/Net/ICMPPacketImpl.h"
-#include "Poco/Net/NetException.h"
-#include "Poco/Timestamp.h"
-#include "Poco/Timespan.h"
-#include "Poco/NumberFormatter.h"
-#include <sstream>
-
-
-using Poco::InvalidArgumentException;
-using Poco::Timestamp;
-using Poco::Timespan;
-using Poco::NumberFormatter;
-using Poco::UInt8;
-using Poco::UInt16;
-using Poco::Int32;
-
-
-namespace Poco {
-namespace Net {
-
-
-const UInt16 ICMPPacketImpl::MAX_PACKET_SIZE = 4096;
-const UInt16 ICMPPacketImpl::MAX_SEQ_VALUE = 65535;
-
-
-ICMPPacketImpl::ICMPPacketImpl(int dataSize):
- _seq(0),
- _pPacket(new UInt8[MAX_PACKET_SIZE]),
- _dataSize(dataSize)
-{
- if (_dataSize > MAX_PACKET_SIZE)
- throw InvalidArgumentException("Packet size must be <= " + NumberFormatter::format(MAX_PACKET_SIZE));
-}
-
-
-ICMPPacketImpl::~ICMPPacketImpl()
-{
- delete [] _pPacket;
-}
-
-
-void ICMPPacketImpl::setDataSize(int dataSize)
-{
- _dataSize = dataSize;
- initPacket();
-}
-
-
-int ICMPPacketImpl::getDataSize() const
-{
- return _dataSize;
-}
-
-
-const Poco::UInt8* ICMPPacketImpl::packet(bool init)
-{
- if (init) initPacket();
- return _pPacket;
-}
-
-
-unsigned short ICMPPacketImpl::checksum(UInt16 *addr, Int32 len)
-{
- Int32 nleft = len;
- UInt16* w = addr;
- UInt16 answer;
- Int32 sum = 0;
-
- while (nleft > 1)
- {
- sum += *w++;
- nleft -= sizeof(UInt16);
- }
-
- if (nleft == 1)
- {
- UInt16 u = 0;
- *(UInt8*) (&u) = *(UInt8*) w;
- sum += u;
- }
-
- sum = (sum >> 16) + (sum & 0xffff);
- sum += (sum >> 16);
- answer = static_cast<UInt16>(~sum);
- return answer;
-}
-
-
-} } // namespace Poco::Net
+//
+// ICMPPacketImpl.cpp
+//
+// Library: Net
+// Package: ICMP
+// Module: ICMPPacketImpl
+//
+// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#include "Poco/Net/ICMPPacketImpl.h"
+#include "Poco/Net/NetException.h"
+#include "Poco/Timestamp.h"
+#include "Poco/Timespan.h"
+#include "Poco/NumberFormatter.h"
+#include <sstream>
+
+
+using Poco::InvalidArgumentException;
+using Poco::Timestamp;
+using Poco::Timespan;
+using Poco::NumberFormatter;
+using Poco::UInt8;
+using Poco::UInt16;
+using Poco::Int32;
+
+
+namespace Poco {
+namespace Net {
+
+
+const UInt16 ICMPPacketImpl::MAX_PACKET_SIZE = 4096;
+const UInt16 ICMPPacketImpl::MAX_SEQ_VALUE = 65535;
+
+
+ICMPPacketImpl::ICMPPacketImpl(int dataSize):
+ _seq(0),
+ _pPacket(new UInt8[MAX_PACKET_SIZE]),
+ _dataSize(dataSize)
+{
+ if (_dataSize > MAX_PACKET_SIZE)
+ throw InvalidArgumentException("Packet size must be <= " + NumberFormatter::format(MAX_PACKET_SIZE));
+}
+
+
+ICMPPacketImpl::~ICMPPacketImpl()
+{
+ delete [] _pPacket;
+}
+
+
+void ICMPPacketImpl::setDataSize(int dataSize)
+{
+ _dataSize = dataSize;
+ initPacket();
+}
+
+
+int ICMPPacketImpl::getDataSize() const
+{
+ return _dataSize;
+}
+
+
+const Poco::UInt8* ICMPPacketImpl::packet(bool init)
+{
+ if (init) initPacket();
+ return _pPacket;
+}
+
+
+unsigned short ICMPPacketImpl::checksum(UInt16 *addr, Int32 len)
+{
+ Int32 nleft = len;
+ UInt16* w = addr;
+ UInt16 answer;
+ Int32 sum = 0;
+
+ while (nleft > 1)
+ {
+ sum += *w++;
+ nleft -= sizeof(UInt16);
+ }
+
+ if (nleft == 1)
+ {
+ UInt16 u = 0;
+ *(UInt8*) (&u) = *(UInt8*) w;
+ sum += u;
+ }
+
+ sum = (sum >> 16) + (sum & 0xffff);
+ sum += (sum >> 16);
+ answer = static_cast<UInt16>(~sum);
+ return answer;
+}
+
+
+} } // namespace Poco::Net