Provider record management for the Kademlia DHT. Receivers always enforce KadDHTConfig.limits.maxProvidersPerKey; when providerRejection is true they additionally reply accepted/rejected on field 11 so senders can spill over to farther peers. Without providerRejection the limit is enforced silently — over-cap advertisements are dropped without a reply. Re-advertisements are always accepted.
Procs
proc `<`(a, b: ProviderRecord): bool {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `<`(a: ProviderRecord; b: chronos.Moment): bool {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `==`(a, b: ProviderRecord): bool {....raises: [], tags: [], forbids: [].}
- Source Edit
proc `[]`(pr: ProviderRecords; i: int): ProviderRecord {....raises: [], tags: [], forbids: [].}
- Source Edit
proc addProvider(kad: KadDHT; cid: Cid): InternalRaisesFuture[void, (CancelledError,)] {....gcsafe, stackTrace: false, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
- Source Edit
proc addProvider(kad: KadDHT; key: Key): InternalRaisesFuture[void, (CancelledError,)] {....gcsafe, stackTrace: false, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
- Source Edit
proc del(pk: ProvidedKeys; k: Key) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc del(pr: ProviderRecords; index: int) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc find(pr: ProviderRecords; record: ProviderRecord): int {....raises: [], tags: [], forbids: [].}
- Source Edit
proc getProviders(kad: KadDHT; key: Key): InternalRaisesFuture[ HashSet[Provider], (LPStreamError, CancelledError)] {....gcsafe, stackTrace: false, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
- Get providers for a given key from the nodes closest to that key. Source Edit
proc hasKey(pk: ProvidedKeys; k: Key): bool {....raises: [], tags: [], forbids: [].}
- Source Edit
proc isFull(pk: ProvidedKeys): bool {....raises: [], tags: [], forbids: [].}
- Source Edit
proc isFull(pr: ProviderRecords): bool {....raises: [], tags: [], forbids: [].}
- Source Edit
proc len(pk: ProvidedKeys): int {....raises: [], tags: [], forbids: [].}
- Source Edit
proc len(pr: ProviderRecords): int {....raises: [], tags: [], forbids: [].}
- Source Edit
proc manageExpiredProviders(kad: KadDHT): InternalRaisesFuture[void, (CancelledError,)] {....stackTrace: false, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
- Source Edit
proc manageRepublishProvidedKeys(kad: KadDHT): InternalRaisesFuture[void, (CancelledError,)] {....stackTrace: false, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
- Source Edit
proc pop(pr: ProviderRecords): ProviderRecord {....raises: [], tags: [], forbids: [].}
- Source Edit
proc push(pr: ProviderRecords; record: ProviderRecord) {....raises: [], tags: [], forbids: [].}
- Source Edit
proc startProviding(kad: KadDHT; c: Cid): InternalRaisesFuture[void, (CancelledError,)] {....stackTrace: false, raises: [], gcsafe, tags: [RootEffect], forbids: [].}
- Source Edit
proc stopProviding(kad: KadDHT; c: Cid) {....raises: [], tags: [], forbids: [].}
- Source Edit