… | |
… | |
97 | Nodes can only talk to each other by creating some kind of connection to |
97 | Nodes can only talk to each other by creating some kind of connection to |
98 | each other. To do this, nodes should listen on one or more local transport |
98 | each other. To do this, nodes should listen on one or more local transport |
99 | endpoints - binds. Currently, only standard C<ip:port> specifications can |
99 | endpoints - binds. Currently, only standard C<ip:port> specifications can |
100 | be used, which specify TCP ports to listen on. |
100 | be used, which specify TCP ports to listen on. |
101 | |
101 | |
102 | =item seeds - C<host:port> |
102 | =item seed nodes |
103 | |
103 | |
104 | When a node starts, it knows nothing about the network. To teach the node |
104 | When a node starts, it knows nothing about the network. To teach the node |
105 | about the network it first has to contact some other node within the |
105 | about the network it first has to contact some other node within the |
106 | network. This node is called a seed. |
106 | network. This node is called a seed. |
107 | |
107 | |
108 | Seeds are transport endpoint(s) of as many nodes as one wants. Those nodes |
108 | Apart from the fact that other nodes know them as seed nodes and they have |
|
|
109 | to have fixed listening addresses, seed nodes are perfectly normal nodes - |
|
|
110 | any node can function as a seed node for others. |
|
|
111 | |
|
|
112 | In addition to discovering the network, seed nodes are also used to |
|
|
113 | maintain the network and to connect nodes that otherwise would have |
|
|
114 | trouble connecting. They form the backbone of the AnyEvent::MP network. |
|
|
115 | |
109 | are expected to be long-running, and at least one of those should always |
116 | Seed nodes are expected to be long-running, and at least one seed node |
110 | be available. When nodes run out of connections (e.g. due to a network |
117 | should always be available. |
111 | error), they try to re-establish connections to some seednodes again to |
|
|
112 | join the network. |
|
|
113 | |
118 | |
114 | Apart from being sued for seeding, seednodes are not special in any way - |
119 | =item seeds - C<host:port> |
115 | every public node can be a seednode. |
120 | |
|
|
121 | Seeds are transport endpoint(s) (usually a hostname/IP address and a |
|
|
122 | TCP port) of nodes thta should be used as seed nodes. |
|
|
123 | |
|
|
124 | The nodes listening on those endpoints are expected to be long-running, |
|
|
125 | and at least one of those should always be available. When nodes run out |
|
|
126 | of connections (e.g. due to a network error), they try to re-establish |
|
|
127 | connections to some seednodes again to join the network. |
116 | |
128 | |
117 | =back |
129 | =back |
118 | |
130 | |
119 | =head1 VARIABLES/FUNCTIONS |
131 | =head1 VARIABLES/FUNCTIONS |
120 | |
132 | |