summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/throttle-tbf.h
diff options
context:
space:
mode:
Diffstat (limited to 'libglusterfs/src/throttle-tbf.h')
-rw-r--r--libglusterfs/src/throttle-tbf.h74
1 files changed, 0 insertions, 74 deletions
diff --git a/libglusterfs/src/throttle-tbf.h b/libglusterfs/src/throttle-tbf.h
deleted file mode 100644
index b6e04962ca4..00000000000
--- a/libglusterfs/src/throttle-tbf.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com>
- This file is part of GlusterFS.
-
- This file is licensed to you under your choice of the GNU Lesser
- General Public License, version 3 or any later version (LGPLv3 or
- later), or the GNU General Public License, version 2 (GPLv2), in all
- cases as published by the Free Software Foundation.
-*/
-
-#include "list.h"
-#include "xlator.h"
-#include "locking.h"
-
-#ifndef THROTTLE_TBF_H__
-#define THROTTLE_TBF_H__
-
-typedef enum tbf_ops {
- TBF_OP_MIN = -1,
- TBF_OP_HASH = 0, /* checksum calculation */
- TBF_OP_READ = 1, /* inode read(s) */
- TBF_OP_READDIR = 2, /* dentry read(s) */
- TBF_OP_MAX = 3,
-} tbf_ops_t;
-
-/**
- * Operation rate specification
- */
-typedef struct tbf_opspec {
- tbf_ops_t op;
-
- unsigned long rate;
-
- unsigned long maxlimit;
-
- unsigned long token_gen_interval;/* Token generation interval in usec */
-} tbf_opspec_t;
-
-/**
- * Token bucket for each operation type
- */
-typedef struct tbf_bucket {
- gf_lock_t lock;
-
- pthread_t tokener; /* token generator thread */
-
- unsigned long tokenrate; /* token generation rate */
-
- unsigned long tokens; /* number of current tokens */
-
- unsigned long maxtokens; /* maximum token in the bucket */
-
- struct list_head queued; /* list of non-conformant requests */
-
- unsigned long token_gen_interval;/* Token generation interval in usec */
-} tbf_bucket_t;
-
-typedef struct tbf {
- tbf_bucket_t **bucket;
-} tbf_t;
-
-tbf_t *
-tbf_init (tbf_opspec_t *, unsigned int);
-
-int
-tbf_mod (tbf_t *, tbf_opspec_t *);
-
-void
-tbf_throttle (tbf_t *, tbf_ops_t, unsigned long);
-
-#define TBF_THROTTLE_BEGIN(tbf, op, tokens) (tbf_throttle (tbf, op, tokens))
-#define TBF_THROTTLE_END(tbf, op, tokens)
-
-#endif /** THROTTLE_TBF_H__ */