Unverified Commit d72666d4 authored by vyzo's avatar vyzo Committed by GitHub

Merge pull request #205 from libp2p/fix/mcache-docs

godocs: clarify config params of MessageCache.
parents 55553ac0 e897918f
package pubsub
import (
"fmt"
pb "github.com/libp2p/go-libp2p-pubsub/pb"
)
// NewMessageCache creates a sliding window cache that remembers messages for as
// long as `history` slots.
//
// When queried for messages to advertise, the cache only returns messages in
// the last `gossip` slots.
//
// The `gossip` parameter must be smaller or equal to `history`, or this
// function will panic.
//
// The slack between `gossip` and `history` accounts for the reaction time
// between when a message is advertised via IHAVE gossip, and the peer pulls it
// via an IWANT command.
func NewMessageCache(gossip, history int) *MessageCache {
if gossip > history {
err := fmt.Errorf("invalid parameters for message cache; gossip slots (%d) cannot be larger than history slots (%d)",
gossip, history)
panic(err)
}
return &MessageCache{
msgs: make(map[string]*pb.Message),
history: make([][]CacheEntry, history),
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment