<commit_before>/**
 * This file is part of the CernVM File System.
 *
**/

#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>

#include <climits>
#include <cstring>
#include <string>

#include "atomic.h"
#include "cache_plugin/libcvmfs_cache.h"
#include "cache_posix.h"
#include "logging.h"
#include "smallhash.h"
#include "util/posix.h"
#include "util/string.h"

bool operator==(const cvmcache_hash &a, const cvmcache_hash &b) {
  return memcmp(a.digest, b.digest, 20) == 0;
}

bool operator!=(const cvmcache_hash &a, const cvmcache_hash &b) {
  return memcmp(a.digest, b.digest, 20) != 0;
}

namespace {

struct CacheObject {
  uint32_t refcnt;
  int fd;
  uint64_t size;
};
<commit_msg>cvmfs_cache_posix: missing include<commit_after>/**
 * This file is part of the CernVM File System.
 *
**/

#include <signal.h>
#include <stdint.h>
#include <sys/types.h>
#include <sys/wait.h>

#include <cstring>
#include <string>

#include "atomic.h"
#include "cache_plugin/libcvmfs_cache.h"
#include "cache_posix.h"
#include "logging.h"
#include "smallhash.h"
#include "util/posix.h"
#include "util/string.h"

bool operator==(const cvmcache_hash &a, const cvmcache_hash &b) {
  return memcmp(a.digest, b.digest, 20) == 0;
}

bool operator!=(const cvmcache_hash &a, const cvmcache_hash &b) {
  return memcmp(a.digest, b.digest, 20) != 0;
}

namespace {

struct CacheObject {
  uint32_t refcnt;
  int fd;
  uint64_t size;
};

{'fraction_non_alphanumeric': 0.15406162464985995, 'fraction_numerical': 0.014005602240896359, 'mean_word_length': 4.762096774193548, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7543728', 'n_tokens_mistral': 596, 'n_tokens_neox': 570, 'n_words': 140}