Index: rlz/lib/net_response_check.h |
diff --git a/rlz/lib/net_response_check.h b/rlz/lib/net_response_check.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..67d13ca910aae33f81b6637917ecf5f89df181e3 |
--- /dev/null |
+++ b/rlz/lib/net_response_check.h |
@@ -0,0 +1,27 @@ |
+// Copyright 2017 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+// |
+ |
+#ifndef RLZ_LIB_NET_RESPONSE_CHECK_H_ |
+#define RLZ_LIB_NET_RESPONSE_CHECK_H_ |
+ |
+#include <string> |
+#include "rlz/lib/rlz_api.h" |
+ |
+// Checksum validation convenience call for RLZ network responses. |
+namespace rlz_lib { |
+// The maximum length of a ping response we will parse in bytes. If the response |
+// is bigger, please break it up into separate calls. |
+const size_t kMaxPingResponseLength = 0x4000; // 16K |
+ |
+// Checks if a ping response is valid - ie. it has a checksum line which |
+// is the CRC-32 checksum of the message up to the checksum. If |
+// checksum_idx is not NULL, it will get the index of the checksum, i.e. - |
+// the effective end of the message. |
+// Access: No restrictions. |
+bool RLZ_LIB_API IsPingResponseValid(const char* response, int* checksum_idx); |
+ |
+}; // namespace rlz_lib |
+ |
+#endif // RLZ_LIB_NET_RESPONSE_CHECK_H_ |