1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
declare(strict_types=1); |
4
|
|
|
|
5
|
|
|
/* |
6
|
|
|
* This file is part of the "php-ipfs" package. |
7
|
|
|
* |
8
|
|
|
* (c) Robert Schönthal <[email protected]> |
9
|
|
|
* |
10
|
|
|
* For the full copyright and license information, please view the LICENSE |
11
|
|
|
* file that was distributed with this source code. |
12
|
|
|
*/ |
13
|
|
|
|
14
|
|
|
namespace IPFS\Api; |
15
|
|
|
|
16
|
|
|
use IPFS\Annotation\Api as Endpoint; |
17
|
|
|
use IPFS\Command\Command; |
18
|
|
|
|
19
|
|
|
/** |
20
|
|
|
* @author Robert Schönthal <[email protected]> |
21
|
|
|
* @autogenerated |
22
|
|
|
* @codeCoverageIgnore |
23
|
|
|
*/ |
24
|
|
View Code Duplication |
final class Dht implements Api |
|
|
|
|
25
|
|
|
{ |
26
|
|
|
/** |
27
|
|
|
* Query the DHT for all of the multiaddresses associated with a Peer ID. |
28
|
|
|
* |
29
|
|
|
* @Endpoint(name="dht:findpeer") |
30
|
|
|
* |
31
|
|
|
* @param string $arg the ID of the peer to search for |
32
|
|
|
* @param bool $verbose print extra information |
33
|
|
|
* |
34
|
|
|
* @return Command |
35
|
|
|
*/ |
36
|
|
|
public function findpeer(string $arg, bool $verbose = false): Command |
37
|
|
|
{ |
38
|
|
|
return new Command(__METHOD__, get_defined_vars()); |
39
|
|
|
} |
40
|
|
|
|
41
|
|
|
/** |
42
|
|
|
* Find peers in the DHT that can provide a specific value, given a key. |
43
|
|
|
* |
44
|
|
|
* @Endpoint(name="dht:findprovs") |
45
|
|
|
* |
46
|
|
|
* @param string $arg the key to find providers for |
47
|
|
|
* @param bool $verbose print extra information |
48
|
|
|
* @param int $numProviders the number of providers to find |
49
|
|
|
* |
50
|
|
|
* @return Command |
51
|
|
|
*/ |
52
|
|
|
public function findprovs(string $arg, bool $verbose = false, int $numProviders = 20): Command |
53
|
|
|
{ |
54
|
|
|
return new Command(__METHOD__, get_defined_vars()); |
55
|
|
|
} |
56
|
|
|
|
57
|
|
|
/** |
58
|
|
|
* Given a key, query the DHT for its best value. |
59
|
|
|
* |
60
|
|
|
* @Endpoint(name="dht:get") |
61
|
|
|
* |
62
|
|
|
* @param string $arg the key to find a value for |
63
|
|
|
* @param bool $verbose print extra information |
64
|
|
|
* |
65
|
|
|
* @return Command |
66
|
|
|
*/ |
67
|
|
|
public function get(string $arg, bool $verbose = false): Command |
68
|
|
|
{ |
69
|
|
|
return new Command(__METHOD__, get_defined_vars()); |
70
|
|
|
} |
71
|
|
|
|
72
|
|
|
/** |
73
|
|
|
* Announce to the network that you are providing given values. |
74
|
|
|
* |
75
|
|
|
* @Endpoint(name="dht:provide") |
76
|
|
|
* |
77
|
|
|
* @param string $arg the key[s] to send provide records for |
78
|
|
|
* @param bool $verbose print extra information |
79
|
|
|
* @param bool $recursive recursively provide entire graph |
80
|
|
|
* |
81
|
|
|
* @return Command |
82
|
|
|
*/ |
83
|
|
|
public function provide(string $arg, bool $verbose = false, bool $recursive = false): Command |
84
|
|
|
{ |
85
|
|
|
return new Command(__METHOD__, get_defined_vars()); |
86
|
|
|
} |
87
|
|
|
|
88
|
|
|
/** |
89
|
|
|
* Write a key/value pair to the DHT. |
90
|
|
|
* |
91
|
|
|
* @Endpoint(name="dht:put") |
92
|
|
|
* |
93
|
|
|
* @param string $arg the key to store the value at |
94
|
|
|
* @param string $arg1 the value to store |
95
|
|
|
* @param bool $verbose print extra information |
96
|
|
|
* |
97
|
|
|
* @return Command |
98
|
|
|
*/ |
99
|
|
|
public function put(string $arg, string $arg1, bool $verbose = false): Command |
100
|
|
|
{ |
101
|
|
|
return new Command(__METHOD__, get_defined_vars()); |
102
|
|
|
} |
103
|
|
|
|
104
|
|
|
/** |
105
|
|
|
* Find the closest Peer IDs to a given Peer ID by querying the DHT. |
106
|
|
|
* |
107
|
|
|
* @Endpoint(name="dht:query") |
108
|
|
|
* |
109
|
|
|
* @param string $arg the peerID to run the query against |
110
|
|
|
* @param bool $verbose print extra information |
111
|
|
|
* |
112
|
|
|
* @return Command |
113
|
|
|
*/ |
114
|
|
|
public function query(string $arg, bool $verbose = false): Command |
115
|
|
|
{ |
116
|
|
|
return new Command(__METHOD__, get_defined_vars()); |
117
|
|
|
} |
118
|
|
|
} |
119
|
|
|
|
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.