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 |
| 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. |