Show / Hide Table of Contents

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 Source

AddPeersAsync(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 peers. If null is given, task never halts by itself even the target peer gives no any response.

CancellationToken cancellationToken

A cancellation token used to propagate notification that this operation should be canceled.

Returns
Type Description
Task

An awaitable task without value.

| Improve this Doc View Source

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 null is given, the task never halts by itself even no any response was given from the the target seed.

Nullable<TimeSpan> findNeighborsTimeout

A timeout of waiting for the reply of Libplanet.Net.Messages.FindNeighbors message sent to seed Peer. If null is given, task never halts by itself even the target seed gives no any response.

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.

| Improve this Doc View Source

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.

| Improve this Doc View Source

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.

| Improve this Doc View Source

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.

  • Improve this Doc
  • View Source
In This Article
Back to top Copyright © 2018–2021 Planetarium