SwarmChunkAvailability MembersNetworkComms.Net Help
The SwarmChunkAvailability type exposes the following members.
Constructors

  NameDescription
Public methodSwarmChunkAvailability
Creates a new instance of SwarmChunkAvailability
Back to Top
Methods

  NameDescription
Public methodAddOrUpdateCachedPeerChunkFlags
Adds or updates a peer to the local availability list. Useful for when a peer informs us of an updated availability.
Public methodAllPeerEndPoints
Returns an array containing all known peer endpoints in the format locaIP:port
Public methodAllPeerIdentifiers
Returns an array containing the network identifiers of every peer in this swarm
Public methodBroadcastItemRemoval
Broadcast to all known peers that the local DFS is removing the specified item.
Public methodBroadcastLocalAvailability
Updates all peers in the swarm that we have updated a chunk
Public methodCachedNonLocalChunkExistences
Builds a dictionary of chunk availability throughout the current swarm for chunks we don't have locally. Keys are chunkIndex, peer network identifier, and peer total chunk count
Public methodChunkHealthMetric
Metric used to determine the health of a chunk and whether swarm will benefit from a broadcasted update. A value greater than 1 signifies a healthy chunk availability.
Public methodClearAllLocalAvailabilityFlags
Clear all chunk availability flags for the local peer
Public methodCloseConnectionsToCompletedPeers
Closes established connections with completed peers as they are now redundant.
Public methodOnlineEquals
Determines whether the specified OnlineObject is equal to the current OnlineObject.
(Inherited from OnlineObject.)
Protected methodOnlineFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from OnlineObject.)
Public methodOnlineGetHashCode
Serves as a hash function for a particular type.
(Inherited from OnlineObject.)
Public methodGetNewTimeoutCount
Returns the new timeout count value after incrementing the timeout count for the provided peer IPEndPoint.
Public methodOnlineGetType
Gets the OnlineType of the current instance.
(Inherited from OnlineObject.)
Public methodIPEndPointBusy
Get the provided peer IPEndPoint busy status
Public methodIPEndPointOnline
Get the provided peer IPEndPoint online status
Protected methodOnlineMemberwiseClone
Creates a shallow copy of the current OnlineObject.
(Inherited from OnlineObject.)
Public methodNumCompletePeersInSwarm
The number of complete peers in this swarm.
Public methodNumPeersInSwarm
The number of peers in this swarm
Public methodPeerChunkAvailability
Returns the chunk flag availability of the requested peer.
Public methodPeerContactAllowed
Single method for determining if contact can be made with the request peer. Prevents loop back contact via matching identifier and currentLocalListenEndPoints. Finally uses the DFS.AllowedPeerIPS and DFS.DisallowedPeerIPS if set.
Public methodPeerExistsInSwarm(IPEndPoint)
Returns true if a peer with the provided IPEndPoint exists in the swarm
Public methodPeerExistsInSwarm(ShortGuid)
Returns true if a peer with the provided networkIdentifier exists in this SwarmChunkAvailability
Public methodPeerHasChunk
Returns true if the specified peer has the specified chunkIndex.
Public methodPeerIsComplete
Returns true if a peer has a complete copy of the DFS item
Public methodPeerIsSuperPeer
Returns true if the specified peer is a super peer
Public methodRecordLocalChunkCompletion
Records a chunk as available for the local peer
Public methodRemoveOldPeerAtEndPoint
Removes any peers which have the same endPoint as the provided currentActivePeerEndPoint except one with matching currentActivePeerIdentifier
Public methodRemovePeerIPEndPointFromSwarm
Deletes knowledge of a peer IPEndPoint from our local swarm chunk availability. If peerEndPoint.Address is IPAddress.Any then the entire peer will be deleted.
Public methodSetIPEndPointBusy
Set the provided peer IPEndPoint busy status to busy
Public methodSetIPEndPointOffline
Set the provided peer IPEndPoint as offline
Public methodSetLocalChunkFlag
Sets our local availability
Public methodThreadSafeSerialise
Serialise this swarm chunk availability in a thread safe manner
Public methodOnlineToString
Returns a string that represents the current object.
(Inherited from OnlineObject.)
Public methodUpdatePeerAvailability
Update the chunk availability by contacting all existing peers. If a cascade depth greater than 1 is provided will also contact each peers peers.
Back to Top
See Also