libp2p/protocols/kademlia

Search:
Group by:
Source   Edit  

Consts

KadCodec = "/ipfs/kad/1.0.0"
Source   Edit  

Procs

proc bootstrap(kad: KadDHT; forceRefresh = false): InternalRaisesFuture[void,
    (CancelledError,)] {....stackTrace: false, raises: [], gcsafe,
                         tags: [RootEffect], forbids: [].}
Source   Edit  
proc new(K: typedesc[KadDHT]; switch: Switch;
         bootstrapNodes: seq[(PeerId, seq[MultiAddress])] = @[];
         config: KadDHTConfig = KadDHTConfig.new(); rng: Rng;
         client: bool = false; codec: string = KadCodec): K:type {....raises: [].}
Source   Edit  
proc refreshTable(kad: KadDHT; rtable: RoutingTable; forceRefresh = false): InternalRaisesFuture[
    void, (CancelledError,)] {....stackTrace: false, raises: [], gcsafe,
                               tags: [RootEffect], forbids: [].}
Sends a findNode to find itself to keep nearby peers up to date Also sends a findNode to find a random key for each non-empty k-bucket Source   Edit  

Methods

method start(kad: KadDHT): InternalRaisesFuture[void, (CancelledError,)] {.
    ...stackTrace: false, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  
method stop(kad: KadDHT): InternalRaisesFuture[void, void] {....stackTrace: false,
    raises: [], gcsafe, tags: [RootEffect], forbids: [].}
Source   Edit  

Exports

$, bucketIndex, allKeys, insert, findClosest, new, randomKey, allKeys, isStale, randomKeyInBucket, updateRoutingTableMetrics, findClosestPeerIds, randomPeersClosestFirst, oldestPeer, randomPeersClosestFirstPeerIds, new, insert, Ticket, ConnectionStatus, decode, verify, sign, ==, decode, encode, Record, hash, toBytes, RegisterMessage, RegistrationStatus, MessageType, encode, Message, AddProviderStatus, decode, GetAdsMessage, encode, Peer, new, xorDistance, DefaultBucketRefreshTime, Key, isValid, DefaultProviderRecordCapacity, RoutingTable, shortLog, DefaultMaxShortlistSize, ReceivedTable, xorDistance, ProviderRecords, ProviderManager, IdLength, toPeer, init, EntrySelector, Bucket, EntryValidator, new, KadDHTConfig, DefaultAlpha, toKey, DefaultProviderExpirationInterval, toUnixSeconds, countLeadingZeroBits, RoutingTableConfig, DefaultBucketStaleTime, toCid, toPeerIds, LocalTable, DefaultTimeout, TimestampFormat, <=, DefaultEntrySelector, DefaultMaxProvidersPerKey, DefaultCleanupProvidersInterval, select, withRpcSlot, NodeEntry, insert, xorDistance, DefaultMaxBuckets, xorDistance, get, DefaultMaxPeersPerIp, DefaultCleanupDataEntriesInterval, noOpHasher, DefaultMaxConcurrentRpcs, nowUnixSeconds, xorDistance, DefaultRecordExpirationInterval, DefaultRetries, hashFor, KadDHT, toPeerIds, DefaultProvidedKeyCapacity, isValid, toPeer, Provider, Timestamp, MaxMsgSize, DefaultMaxLocalRecords, XorDistance, DefaultQuorum, DefaultMaxValueSize, toPeers, now, select, ProviderRecord, chroniclesFormatItIMPL, toKey, leadingZeros, XorDHasher, new, <, DefaultRepublishInterval, toKey, EntryRecord, toPeerId, KadDHTLimits, DefaultMaxPeersPerSubnet, DefaultEntryValidator, DefaultReplication, DefaultMaxReceivedSize, cmp, CandidatePeers, ProvidedKeys, findNode, updatePeers, findClosestPeers, init, iterativeLookup, hasResponsesFromClosestAvailable, handleFindNode, findNode, dispatchFindNode, updatePeers, findPeer, ReplyHandler, StopCond, LookupState, lookOnce, updateShortlist, noopReply, selectCloserPeers, findNodeDispatch, iterativeLookup, DispatchProc, updatePeers, closestAvailableStop, RespondedStatus, allSortedPeers, handleGetValue, dispatchGetVal, getValue, putValue, handlePutValue, isExpired, manageExpiredRecords, canStoreLocalRecord, dispatchPutVal, isFull, <, startProviding, handleAddProvider, isFull, ==, stopProviding, getProviders, addProvider, hasKey, push, dispatchGetProviders, len, len, <, find, addProvider, del, manageExpiredProviders, manageRepublishProvidedKeys, del, handleGetProviders, pop, [], ping, handlePing, kad_routing_table_insertions, kad_message_duration_ms, kad_provider_rejections_sent, kad_routing_table_replacements, kad_responses_with_closer_peers, kad_messages_sent, kad_routing_table_buckets, kad_routing_table_peers, kad_provider_spillover_rounds, kad_routing_table_bucket_size, kad_messages_received, kad_message_bytes_sent, kad_message_bytes_received