libp2p/protocols/pubsub/gossipsub/types

    Dark Mode
Search:
Group by:
  Source   Edit

Types

BackoffTable = Table[string, Table[PeerId, Moment]]
  Source   Edit
GossipSub = ref object of FloodSub
  mesh*: PeerTable
  fanout*: PeerTable
  gossipsub*: PeerTable
  subscribedDirectPeers*: PeerTable
  backingOff*: BackoffTable
  lastFanoutPubSub*: Table[string, Moment]
  mcache*: MCache
  validationSeen*: ValidationSeenTable
  heartbeatFut*: Future[void]
  scoringHeartbeatFut*: Future[void]
  heartbeatRunning*: bool
  peerStats*: Table[PeerId, PeerStats]
  parameters*: GossipSubParams
  topicParams*: Table[string, TopicParams]
  directPeersLoop*: Future[void]
  peersInIP*: Table[MultiAddress, HashSet[PeerId]]
  routingRecordsHandler*: seq[RoutingRecordsHandler]
  heartbeatEvents*: seq[AsyncEvent]
  Source   Edit
GossipSubParams {.public.} = object
  explicit*: bool
  pruneBackoff*: Duration
  unsubscribeBackoff*: Duration
  floodPublish*: bool
  gossipFactor*: float64
  d*: int
  dLow*: int
  dHigh*: int
  dScore*: int
  dOut*: int
  dLazy*: int
  heartbeatInterval*: Duration
  historyLength*: int
  historyGossip*: int
  fanoutTTL*: Duration
  seenTTL*: Duration
  gossipThreshold*: float64
  publishThreshold*: float64
  graylistThreshold*: float64
  acceptPXThreshold*: float64
  opportunisticGraftThreshold*: float64
  decayInterval*: Duration
  decayToZero*: float64
  retainScore*: Duration
  appSpecificWeight*: float64
  ipColocationFactorWeight*: float64
  ipColocationFactorThreshold*: float64
  behaviourPenaltyWeight*: float64
  behaviourPenaltyDecay*: float64
  directPeers*: Table[PeerId, seq[MultiAddress]]
  disconnectBadPeers*: bool
  enablePX*: bool
  bandwidthEstimatebps*: int
  overheadRateLimit*: Opt[tuple[bytes: int, interval: Duration]]
  disconnectPeerAboveRateLimit*: bool
  maxNumElementsInNonPriorityQueue*: int
  Source   Edit
MeshMetrics = object
  otherPeersPerTopicMesh*: int64
  otherPeersPerTopicFanout*: int64
  otherPeersPerTopicGossipsub*: int64
  noPeersTopics*: int64
  lowPeersTopics*: int64
  healthyPeersTopics*: int64
  underDoutTopics*: int64
  Source   Edit
PeerStats = object
  topicInfos*: Table[string, TopicInfo]
  expire*: Moment
  score*: float64
  appScore*: float64
  behaviourPenalty*: float64
  Source   Edit
RoutingRecordsHandler = proc (peer: PeerId; tag: string;
                              peers: seq[RoutingRecordsPair]) {....gcsafe,
    raises: [].}
  Source   Edit
RoutingRecordsPair = tuple[id: PeerId, record: Option[PeerRecord]]
  Source   Edit
TopicInfo = object
  graftTime*: Moment
  meshTime*: Duration
  inMesh*: bool
  meshMessageDeliveriesActive*: bool
  firstMessageDeliveries*: float64
  meshMessageDeliveries*: float64
  meshFailurePenalty*: float64
  invalidMessageDeliveries*: float64
  Source   Edit
TopicParams {.public.} = object
  topicWeight*: float64
  timeInMeshWeight*: float64
  timeInMeshQuantum*: Duration
  timeInMeshCap*: float64
  firstMessageDeliveriesWeight*: float64
  firstMessageDeliveriesDecay*: float64
  firstMessageDeliveriesCap*: float64
  meshMessageDeliveriesWeight*: float64
  meshMessageDeliveriesDecay*: float64
  meshMessageDeliveriesThreshold*: float64
  meshMessageDeliveriesCap*: float64
  meshMessageDeliveriesActivation*: Duration
  meshMessageDeliveriesWindow*: Duration
  meshFailurePenaltyWeight*: float64
  meshFailurePenaltyDecay*: float64
  invalidMessageDeliveriesWeight*: float64
  invalidMessageDeliveriesDecay*: float64
  Source   Edit
ValidationSeenTable = Table[SaltedId, HashSet[PubSubPeer]]
  Source   Edit

Consts

GossipBackoffPeriod = (value: 60000000000)
  Source   Edit
GossipSubCodec_10 = "/meshsub/1.0.0"
  Source   Edit
GossipSubCodec_11 = "/meshsub/1.1.0"
  Source   Edit
GossipSubCodec_12 = "/meshsub/1.2.0"
  Source   Edit
GossipSubD = 6
  Source   Edit
GossipSubDhi = 12
  Source   Edit
GossipSubDlo = 4
  Source   Edit
GossipSubFanoutTTL = (value: 60000000000)
  Source   Edit
GossipSubHeartbeatInterval = (value: 1000000000)
  Source   Edit
IHaveMaxLength = 5000
  Source   Edit
IHavePeerBudget = 10
  Source   Edit
PingsPeerBudget = 100
  Source   Edit