blob: 7098da779828df6b0b0f1244bf75aecc7855734a [file] [log] [blame]
// 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_