libktorrent
2.1.1
src
dht
key.h
1
/***************************************************************************
2
* Copyright (C) 2005 by Joris Guisson *
3
* joris.guisson@gmail.com *
4
* *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) any later version. *
9
* *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
14
* *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the *
17
* Free Software Foundation, Inc., *
18
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19
***************************************************************************/
20
#ifndef DHTKEY_H
21
#define DHTKEY_H
22
23
#include <QByteArray>
24
#include <util/sha1hash.h>
25
#include <ktorrent_export.h>
26
27
28
namespace
dht
29
{
30
38
class
KTORRENT_EXPORT Key :
public
bt::SHA1Hash
39
{
40
public
:
44
Key();
45
51
Key(
const
bt::SHA1Hash
& k);
52
57
Key(
const
QByteArray & ba);
58
63
Key(
const
bt::Uint8* d);
64
66
~Key()
override
;
67
72
static
Key random();
73
75
static
Key min();
76
78
static
Key max();
79
85
bool
operator == (
const
Key & other)
const
;
86
92
bool
operator != (
const
Key & other)
const
;
93
99
bool
operator < (
const
Key
& other)
const
;
100
101
107
bool
operator <= (
const
Key
& other)
const
;
108
109
115
bool
operator > (
const
Key
& other)
const
;
116
122
bool
operator >= (
const
Key
& other)
const
;
123
127
Key
operator / (
int
value)
const
;
128
134
friend
KTORRENT_EXPORT
Key
operator + (
const
Key
& a,
const
Key
& b);
135
141
friend
KTORRENT_EXPORT
Key
operator - (
const
Key
& a,
const
Key
& b);
142
148
friend
KTORRENT_EXPORT
Key
operator + (
const
Key
& a, bt::Uint8 value);
149
156
static
Key
distance(
const
Key
& a,
const
Key
& b);
157
164
static
Key
mid(
const
Key
& a,
const
Key
& b);
165
};
166
167
}
168
169
#endif
dht::Key
Key in the distributed hash table.
Definition:
key.h:57
bt::SHA1Hash
Stores a SHA1 hash.
Definition:
sha1hash.h:41
Generated by
1.8.18