• Design
  • API Reference
  • Changelog
  • Contribute
Show / Hide Table of Contents
  • Libplanet
    • Address
    • AddressExtension
    • ByteUtil
    • Hashcash
    • Hashcash.Stamp
    • HashDigest<T>
    • HashDigestExtension
    • Nonce
  • Libplanet.Action
    • AccountStateGetter
    • ActionEvaluation<T>
    • ActionTypeAttribute
    • AddressStateMap
    • IAccountStateDelta
    • IAction
    • IActionContext
    • IRandom
    • MissingActionTypeException
    • PolymorphicAction<T>
  • Libplanet.Blockchain
    • BlockChain<T>
    • IncompleteBlockStatesException
    • MineBlockEventArgs<T>
  • Libplanet.Blockchain.Policies
    • BlockPolicy<T>
    • BlockPolicyExtension
    • IBlockPolicy<T>
  • Libplanet.Blocks
    • Block<T>
    • InvalidBlockDifficultyException
    • InvalidBlockException
    • InvalidBlockHashException
    • InvalidBlockIndexException
    • InvalidBlockNonceException
    • InvalidBlockPreviousHashException
    • InvalidBlockTimestampException
  • Libplanet.Crypto
    • InvalidCiphertextException
    • PrivateKey
    • PublicKey
    • SymmetricKey
  • Libplanet.Net
    • BlockDownloadState
    • DifferentAppProtocolVersionException
    • DifferentProtocolVersionEventArgs
    • IceServer
    • IceServerException
    • InvalidMessageException
    • NoSwarmContextException
    • Peer
    • PeerNotFoundException
    • PeerSetDelta
    • Swarm<T>
    • SwarmException
  • Libplanet.Serialization
    • BencodexFormatter<T>
    • SerializationInfoExtension
  • Libplanet.Store
    • BaseIndex<TKey, TVal>
    • BaseStore
    • BlockSet<T>
    • FileStore
    • IStore
    • LiteDBStore
    • NamespaceNotFoundException
    • StoreExtension
    • TransactionSet<T>
  • Libplanet.Tx
    • InvalidTxException
    • InvalidTxIdException
    • InvalidTxNonceException
    • InvalidTxPublicKeyException
    • InvalidTxSignatureException
    • InvalidTxUpdatedAddressesException
    • Transaction<T>
    • TxId
    • UnexpectedlyTerminatedTxRehearsalException

Class Swarm<T>

Inheritance
Object
Swarm<T>
Inherited Members
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Libplanet.Net
Assembly: Libplanet.dll
Syntax
public class Swarm<T>
    where T : IAction, new()
Type Parameters
Name Description
T

Constructors

| Improve this Doc View Source

Swarm(BlockChain<T>, PrivateKey, Int32, Int32, Int32, String, Nullable<Int32>, Nullable<DateTimeOffset>, IEnumerable<IceServer>, EventHandler<DifferentProtocolVersionEventArgs>)

Declaration
public Swarm(BlockChain<T> blockChain, PrivateKey privateKey, int appProtocolVersion, int millisecondsDialTimeout = 15000, int millisecondsLinger = 1000, string host = null, int? listenPort = default(int? ), DateTimeOffset? createdAt = default(DateTimeOffset? ), IEnumerable<IceServer> iceServers = null, EventHandler<DifferentProtocolVersionEventArgs> differentVersionPeerEncountered = null)
Parameters
Type Name Description
BlockChain<T> blockChain
PrivateKey privateKey
Int32 appProtocolVersion
Int32 millisecondsDialTimeout
Int32 millisecondsLinger
String host
Nullable<Int32> listenPort
Nullable<DateTimeOffset> createdAt
IEnumerable<IceServer> iceServers
EventHandler<DifferentProtocolVersionEventArgs> differentVersionPeerEncountered
| Improve this Doc View Source

Swarm(BlockChain<T>, PrivateKey, Int32, TimeSpan, TimeSpan, String, Nullable<Int32>, Nullable<DateTimeOffset>, IEnumerable<IceServer>, EventHandler<DifferentProtocolVersionEventArgs>)

Declaration
public Swarm(BlockChain<T> blockChain, PrivateKey privateKey, int appProtocolVersion, TimeSpan dialTimeout, TimeSpan linger, string host = null, int? listenPort = default(int? ), DateTimeOffset? createdAt = default(DateTimeOffset? ), IEnumerable<IceServer> iceServers = null, EventHandler<DifferentProtocolVersionEventArgs> differentVersionPeerEncountered = null)
Parameters
Type Name Description
BlockChain<T> blockChain
PrivateKey privateKey
Int32 appProtocolVersion
TimeSpan dialTimeout
TimeSpan linger
String host
Nullable<Int32> listenPort
Nullable<DateTimeOffset> createdAt
IEnumerable<IceServer> iceServers
EventHandler<DifferentProtocolVersionEventArgs> differentVersionPeerEncountered

Properties

| Improve this Doc View Source

Address

Declaration
public Address Address { get; }
Property Value
Type Description
Address
| Improve this Doc View Source

AsPeer

Declaration
public Peer AsPeer { get; }
Property Value
Type Description
Peer
| Improve this Doc View Source

BlockReceived

Declaration
public AsyncAutoResetEvent BlockReceived { get; }
Property Value
Type Description
Nito.AsyncEx.AsyncAutoResetEvent
| Improve this Doc View Source

DeltaDistributed

Declaration
public AsyncAutoResetEvent DeltaDistributed { get; }
Property Value
Type Description
Nito.AsyncEx.AsyncAutoResetEvent
| Improve this Doc View Source

DeltaReceived

Declaration
public AsyncAutoResetEvent DeltaReceived { get; }
Property Value
Type Description
Nito.AsyncEx.AsyncAutoResetEvent
| Improve this Doc View Source

EndPoint

Declaration
public DnsEndPoint EndPoint { get; }
Property Value
Type Description
DnsEndPoint
| Improve this Doc View Source

LastDistributed

Declaration
public DateTimeOffset LastDistributed { get; }
Property Value
Type Description
DateTimeOffset
| Improve this Doc View Source

LastReceived

Declaration
public DateTimeOffset LastReceived { get; }
Property Value
Type Description
DateTimeOffset
| Improve this Doc View Source

LastSeenTimestamps

Declaration
public IDictionary<Peer, DateTimeOffset> LastSeenTimestamps { get; }
Property Value
Type Description
IDictionary<Peer, DateTimeOffset>
| Improve this Doc View Source

Running

Whether this Swarm<T> instance is running.

Declaration
public bool Running { get; }
Property Value
Type Description
Boolean
| Improve this Doc View Source

TxReceived

Declaration
public AsyncAutoResetEvent TxReceived { get; }
Property Value
Type Description
Nito.AsyncEx.AsyncAutoResetEvent

Methods

| Improve this Doc View Source

AddPeersAsync(IEnumerable<Peer>, Nullable<DateTimeOffset>, CancellationToken)

Declaration
public Task<ISet<Peer>> AddPeersAsync(IEnumerable<Peer> peers, DateTimeOffset? timestamp = default(DateTimeOffset? ), CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type Name Description
IEnumerable<Peer> peers
Nullable<DateTimeOffset> timestamp
CancellationToken cancellationToken
Returns
Type Description
Task<ISet<Peer>>
| Improve this Doc View Source

BroadcastBlocks(IEnumerable<Block<T>>)

Declaration
public void BroadcastBlocks(IEnumerable<Block<T>> blocks)
Parameters
Type Name Description
IEnumerable<Block<T>> blocks
| Improve this Doc View Source

BroadcastTxs(IEnumerable<Transaction<T>>)

Declaration
public void BroadcastTxs(IEnumerable<Transaction<T>> txs)
Parameters
Type Name Description
IEnumerable<Transaction<T>> txs
| Improve this Doc View Source

Finalize()

Declaration
protected void Finalize()
| Improve this Doc View Source

PreloadAsync(IProgress<BlockDownloadState>, CancellationToken)

Preemptively downloads blocks from registered Peers.

Declaration
public Task PreloadAsync(IProgress<BlockDownloadState> progress = null, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type Name Description
IProgress<BlockDownloadState> progress

An instance that receives progress updates for block downloads.

CancellationToken cancellationToken

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

Returns
Type Description
Task

A task without value. You only can await until the method is completed.

| Improve this Doc View Source

StartAsync(Int32, Int32, CancellationToken)

Declaration
public Task StartAsync(int millisecondsDistributeInterval = 1500, int millisecondsBroadcastTxInterval = 5000, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type Name Description
Int32 millisecondsDistributeInterval
Int32 millisecondsBroadcastTxInterval
CancellationToken cancellationToken
Returns
Type Description
Task
| Improve this Doc View Source

StartAsync(TimeSpan, TimeSpan, CancellationToken)

Declaration
public Task StartAsync(TimeSpan distributeInterval, TimeSpan broadcastTxInterval, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type Name Description
TimeSpan distributeInterval
TimeSpan broadcastTxInterval
CancellationToken cancellationToken
Returns
Type Description
Task
| Improve this Doc View Source

StopAsync(CancellationToken)

Declaration
public Task StopAsync(CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task
| Improve this Doc View Source

WaitForRunningAsync()

Waits until this Swarm<T> instance gets started to run.

Declaration
public Task WaitForRunningAsync()
Returns
Type Description
Task

A Task completed when Running property becomes true.

Events

| Improve this Doc View Source

DifferentVersionPeerEncountered

The EventHandler called when the different version of Peer is discovered.

Declaration
public event EventHandler<DifferentProtocolVersionEventArgs> DifferentVersionPeerEncountered
Event Type
Type Description
EventHandler<DifferentProtocolVersionEventArgs>
  • Improve this Doc
  • View Source
Back to top Copyright © 2019 Planetarium
Generated by DocFX