libp2p/protocols/pubsub/floodsub

Search:
Group by:
Source   Edit  

Simple flood-based publishing.

Types

FloodSub {.public.} = ref object of PubSub
  floodsub*: PeerTable
  seen*: TimedCache[SaltedId]
  seenSalt*: sha256
Source   Edit  

Consts

FloodSubCodec = "/floodsub/1.0.0"
Source   Edit  

Procs

proc addSeen(f: FloodSub; saltedId: SaltedId): bool {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc firstSeen(f: FloodSub; saltedId: SaltedId): Moment {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc hasSeen(f: FloodSub; saltedId: SaltedId): bool {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc salt(f: FloodSub; msgId: MessageId): SaltedId {....raises: [], tags: [],
    forbids: [].}
Source   Edit  

Methods

method init(f: FloodSub) {....raises: [], tags: [], forbids: [].}
Source   Edit  
method initPubSub(f: FloodSub) {....raises: [InitializationError], raises: [],
                                 tags: [RootEffect], forbids: [].}
Source   Edit  
method publish(f: FloodSub; topic: string; data: seq[byte];
               publishParams: Option[PublishParams] = none(PublishParams)): InternalRaisesFuture[
    int, void] {....stackTrace: false, raises: [], gcsafe, raises: [],
                 tags: [RootEffect], forbids: [].}
Source   Edit  
method rpcHandler(f: FloodSub; peer: PubSubPeer; data: sink seq[byte]): InternalRaisesFuture[
    void, (CancelledError, PeerMessageDecodeError, PeerRateLimitError)] {.
    ...stackTrace: false, raises: [], gcsafe, raises: [], tags: [RootEffect],
    forbids: [].}
Source   Edit  
method unsubscribePeer(f: FloodSub; peer: PeerId) {....raises: [],
    tags: [WriteIOEffect], forbids: [].}
handle peer disconnects Source   Edit