Interface IProtocol
An interface of protocol to discover peers from the distributed network.
Namespace: Libplanet.Net.Protocols
Assembly: Libplanet.dll
Syntax
public interface IProtocol
Methods
| Improve this Doc View SourceAddPeersAsync(IEnumerable<Peer>, Nullable<TimeSpan>, CancellationToken)
Tries to add given peers
to routing table
by sending Libplanet.Net.Messages.Ping.
Declaration
Task AddPeersAsync(IEnumerable<Peer> peers, TimeSpan? timeout, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Peer> | peers | The peers to add. |
Nullable<TimeSpan> | timeout | A timeout of waiting for the reply of Libplanet.Net.Messages.Ping
message sent to |
CancellationToken | cancellationToken | A cancellation token used to propagate notification that this operation should be canceled. |
Returns
Type | Description |
---|---|
Task | An awaitable task without value. |
BootstrapAsync(IEnumerable<BoundPeer>, Nullable<TimeSpan>, Nullable<TimeSpan>, Int32, CancellationToken)
Conducts peer discovery for given bootstrapPeers
.
Declaration
Task BootstrapAsync(IEnumerable<BoundPeer> bootstrapPeers, TimeSpan? pingSeedTimeout, TimeSpan? findNeighborsTimeout, int depth, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<BoundPeer> | bootstrapPeers | A IEnumerable<T> of Peers to bootstrap. |
Nullable<TimeSpan> | pingSeedTimeout | A timeout of waiting for the reply of Libplanet.Net.Messages.Ping
message sent to seed Peer.
If |
Nullable<TimeSpan> | findNeighborsTimeout | A timeout of waiting for the reply of
Libplanet.Net.Messages.FindNeighbors message sent to seed Peer.
If |
Int32 | depth | Recursive operation depth to search peers from network. |
CancellationToken | cancellationToken | A cancellation token used to propagate notification that this operation should be canceled. |
Returns
Type | Description |
---|---|
Task | An awaitable task without value. |
CheckReplacementCacheAsync(CancellationToken)
Checks the Libplanet.Net.Protocols.KBucket in the RoutingTable and if there is an empty Libplanet.Net.Protocols.KBucket, fill it with Peers in the Libplanet.Net.Protocols.KBucket.ReplacementCache.
Declaration
Task CheckReplacementCacheAsync(CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken | A cancellation token used to propagate notification that this operation should be canceled. |
Returns
Type | Description |
---|---|
Task | An awaitable task without value. |
RebuildConnectionAsync(Int32, CancellationToken)
Reconstructs network connection between peers on network.
Declaration
Task RebuildConnectionAsync(int depth, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
Int32 | depth | Recursive operation depth to search peers from network. |
CancellationToken | cancellationToken | A cancellation token used to propagate notification that this operation should be canceled. |
Returns
Type | Description |
---|---|
Task | An awaitable task without value. |
RefreshTableAsync(TimeSpan, CancellationToken)
Checks whether Peers in RoutingTable is online by sending Libplanet.Net.Messages.Ping.
Declaration
Task RefreshTableAsync(TimeSpan maxAge, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
TimeSpan | maxAge | Maximum age of peer to validate. |
CancellationToken | cancellationToken | A cancellation token used to propagate notification that this operation should be canceled. |
Returns
Type | Description |
---|---|
Task | An awaitable task without value. |