aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/poco/Net/src/ICMPClient.cpp
diff options
context:
space:
mode:
authororivej <orivej@yandex-team.ru>2022-02-10 16:45:01 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:01 +0300
commit2d37894b1b037cf24231090eda8589bbb44fb6fc (patch)
treebe835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/poco/Net/src/ICMPClient.cpp
parent718c552901d703c502ccbefdfc3c9028d608b947 (diff)
downloadydb-2d37894b1b037cf24231090eda8589bbb44fb6fc.tar.gz
Restoring authorship annotation for <orivej@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/poco/Net/src/ICMPClient.cpp')
-rw-r--r--contrib/libs/poco/Net/src/ICMPClient.cpp300
1 files changed, 150 insertions, 150 deletions
diff --git a/contrib/libs/poco/Net/src/ICMPClient.cpp b/contrib/libs/poco/Net/src/ICMPClient.cpp
index 40596b835e..4639d6a5fa 100644
--- a/contrib/libs/poco/Net/src/ICMPClient.cpp
+++ b/contrib/libs/poco/Net/src/ICMPClient.cpp
@@ -1,150 +1,150 @@
-//
-// ICMPClient.cpp
-//
-// Library: Net
-// Package: ICMP
-// Module: ICMPClient
-//
-// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
-// and Contributors.
-//
-// SPDX-License-Identifier: BSL-1.0
-//
-
-
-#include "Poco/Net/SocketAddress.h"
-#include "Poco/Net/ICMPClient.h"
-#include "Poco/Net/ICMPSocket.h"
-#include "Poco/Net/NetException.h"
-#include "Poco/Channel.h"
-#include "Poco/Message.h"
-#include "Poco/Exception.h"
-#include <sstream>
-
-
-using Poco::Channel;
-using Poco::Message;
-using Poco::InvalidArgumentException;
-using Poco::NotImplementedException;
-using Poco::TimeoutException;
-using Poco::Exception;
-
-
-namespace Poco {
-namespace Net {
-
-
-ICMPClient::ICMPClient(SocketAddress::Family family, int dataSize, int ttl, int timeout):
- _family(family),
- _dataSize(dataSize),
- _ttl(ttl),
- _timeout(timeout)
-{
-}
-
-
-ICMPClient::~ICMPClient()
-{
-}
-
-
-int ICMPClient::ping(const std::string& address, int repeat) const
-{
- if (repeat <= 0) return 0;
-
- SocketAddress addr(address, 0);
- return ping(addr, repeat);
-}
-
-
-int ICMPClient::ping(SocketAddress& address, int repeat) const
-{
- if (repeat <= 0) return 0;
-
- ICMPSocket icmpSocket(_family, _dataSize, _ttl, _timeout);
- SocketAddress returnAddress;
-
- ICMPEventArgs eventArgs(address, repeat, icmpSocket.dataSize(), icmpSocket.ttl());
- pingBegin.notify(this, eventArgs);
-
- for (int i = 0; i < repeat; ++i)
- {
- icmpSocket.sendTo(address);
- ++eventArgs;
-
- try
- {
- int t = icmpSocket.receiveFrom(returnAddress);
- eventArgs.setReplyTime(i, t);
- pingReply.notify(this, eventArgs);
- }
- catch (TimeoutException&)
- {
- std::ostringstream os;
- os << address.host().toString() << ": Request timed out.";
- eventArgs.setError(i, os.str());
- pingError.notify(this, eventArgs);
- continue;
- }
- catch (ICMPException& ex)
- {
- std::ostringstream os;
- os << address.host().toString() << ": " << ex.what();
- eventArgs.setError(i, os.str());
- pingError.notify(this, eventArgs);
- continue;
- }
- catch (Exception& ex)
- {
- std::ostringstream os;
- os << ex.displayText();
- eventArgs.setError(i, os.str());
- pingError.notify(this, eventArgs);
- continue;
- }
- }
- pingEnd.notify(this, eventArgs);
- return eventArgs.received();
-}
-
-
-int ICMPClient::pingIPv4(const std::string& address, int repeat,
- int dataSize, int ttl, int timeout)
-{
- if (repeat <= 0) return 0;
-
- SocketAddress a(address, 0);
- return ping(a, IPAddress::IPv4, repeat, dataSize, ttl, timeout);
-}
-
-
-int ICMPClient::ping(SocketAddress& address,
- IPAddress::Family family, int repeat,
- int dataSize, int ttl, int timeout)
-{
- if (repeat <= 0) return 0;
-
- ICMPSocket icmpSocket(family, dataSize, ttl, timeout);
- SocketAddress returnAddress;
- int received = 0;
-
- for (int i = 0; i < repeat; ++i)
- {
- icmpSocket.sendTo(address);
- try
- {
- icmpSocket.receiveFrom(returnAddress);
- ++received;
- }
- catch (TimeoutException&)
- {
- }
- catch (ICMPException&)
- {
- }
- }
- return received;
-}
-
-
-} } // namespace Poco::Net
+//
+// ICMPClient.cpp
+//
+// Library: Net
+// Package: ICMP
+// Module: ICMPClient
+//
+// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
+// and Contributors.
+//
+// SPDX-License-Identifier: BSL-1.0
+//
+
+
+#include "Poco/Net/SocketAddress.h"
+#include "Poco/Net/ICMPClient.h"
+#include "Poco/Net/ICMPSocket.h"
+#include "Poco/Net/NetException.h"
+#include "Poco/Channel.h"
+#include "Poco/Message.h"
+#include "Poco/Exception.h"
+#include <sstream>
+
+
+using Poco::Channel;
+using Poco::Message;
+using Poco::InvalidArgumentException;
+using Poco::NotImplementedException;
+using Poco::TimeoutException;
+using Poco::Exception;
+
+
+namespace Poco {
+namespace Net {
+
+
+ICMPClient::ICMPClient(SocketAddress::Family family, int dataSize, int ttl, int timeout):
+ _family(family),
+ _dataSize(dataSize),
+ _ttl(ttl),
+ _timeout(timeout)
+{
+}
+
+
+ICMPClient::~ICMPClient()
+{
+}
+
+
+int ICMPClient::ping(const std::string& address, int repeat) const
+{
+ if (repeat <= 0) return 0;
+
+ SocketAddress addr(address, 0);
+ return ping(addr, repeat);
+}
+
+
+int ICMPClient::ping(SocketAddress& address, int repeat) const
+{
+ if (repeat <= 0) return 0;
+
+ ICMPSocket icmpSocket(_family, _dataSize, _ttl, _timeout);
+ SocketAddress returnAddress;
+
+ ICMPEventArgs eventArgs(address, repeat, icmpSocket.dataSize(), icmpSocket.ttl());
+ pingBegin.notify(this, eventArgs);
+
+ for (int i = 0; i < repeat; ++i)
+ {
+ icmpSocket.sendTo(address);
+ ++eventArgs;
+
+ try
+ {
+ int t = icmpSocket.receiveFrom(returnAddress);
+ eventArgs.setReplyTime(i, t);
+ pingReply.notify(this, eventArgs);
+ }
+ catch (TimeoutException&)
+ {
+ std::ostringstream os;
+ os << address.host().toString() << ": Request timed out.";
+ eventArgs.setError(i, os.str());
+ pingError.notify(this, eventArgs);
+ continue;
+ }
+ catch (ICMPException& ex)
+ {
+ std::ostringstream os;
+ os << address.host().toString() << ": " << ex.what();
+ eventArgs.setError(i, os.str());
+ pingError.notify(this, eventArgs);
+ continue;
+ }
+ catch (Exception& ex)
+ {
+ std::ostringstream os;
+ os << ex.displayText();
+ eventArgs.setError(i, os.str());
+ pingError.notify(this, eventArgs);
+ continue;
+ }
+ }
+ pingEnd.notify(this, eventArgs);
+ return eventArgs.received();
+}
+
+
+int ICMPClient::pingIPv4(const std::string& address, int repeat,
+ int dataSize, int ttl, int timeout)
+{
+ if (repeat <= 0) return 0;
+
+ SocketAddress a(address, 0);
+ return ping(a, IPAddress::IPv4, repeat, dataSize, ttl, timeout);
+}
+
+
+int ICMPClient::ping(SocketAddress& address,
+ IPAddress::Family family, int repeat,
+ int dataSize, int ttl, int timeout)
+{
+ if (repeat <= 0) return 0;
+
+ ICMPSocket icmpSocket(family, dataSize, ttl, timeout);
+ SocketAddress returnAddress;
+ int received = 0;
+
+ for (int i = 0; i < repeat; ++i)
+ {
+ icmpSocket.sendTo(address);
+ try
+ {
+ icmpSocket.receiveFrom(returnAddress);
+ ++received;
+ }
+ catch (TimeoutException&)
+ {
+ }
+ catch (ICMPException&)
+ {
+ }
+ }
+ return received;
+}
+
+
+} } // namespace Poco::Net