├── .circleci └── config.yml ├── .codecov.yml ├── .github ├── labels.yml └── workflows │ ├── generated-pr.yml │ ├── go-check.yml │ ├── go-test-config.json │ ├── go-test.yml │ ├── label-syncer.yml │ ├── release-check.yml │ ├── releaser.yml │ ├── stale.yml │ └── tagpush.yml ├── .gitignore ├── LICENSE ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── backoff.go ├── backoff_test.go ├── blacklist.go ├── blacklist_test.go ├── codecov.yml ├── comm.go ├── compat ├── compat.pb.go └── compat.proto ├── compat_test.go ├── discovery.go ├── discovery_test.go ├── doc.go ├── extensions.go ├── floodsub.go ├── floodsub_test.go ├── fuzz_helpers_test.go ├── go.mod ├── go.sum ├── gossip_tracer.go ├── gossip_tracer_test.go ├── gossipsub.go ├── gossipsub_connmgr_test.go ├── gossipsub_feat.go ├── gossipsub_feat_test.go ├── gossipsub_matchfn_test.go ├── gossipsub_spam_test.go ├── gossipsub_test.go ├── internal ├── gologshim │ └── gologshim.go └── merkle │ └── example.go ├── maintainer.json ├── mcache.go ├── mcache_test.go ├── messagebatch.go ├── midgen.go ├── notify_test.go ├── partialmessages ├── bitmap │ └── bitmap.go ├── invariants.go ├── partialmsgs.go └── partialmsgs_test.go ├── pb ├── Makefile ├── rpc.pb.go ├── rpc.proto ├── slog.go ├── trace.pb.go └── trace.proto ├── peer_gater.go ├── peer_gater_test.go ├── peer_notify.go ├── pubsub.go ├── pubsub_test.go ├── randomsub.go ├── randomsub_test.go ├── rpc_queue.go ├── rpc_queue_test.go ├── score.go ├── score_params.go ├── score_params_test.go ├── score_test.go ├── sign.go ├── sign_test.go ├── subscription.go ├── subscription_filter.go ├── subscription_filter_test.go ├── tag_tracer.go ├── tag_tracer_test.go ├── testextension.go ├── timecache ├── first_seen_cache.go ├── first_seen_cache_test.go ├── last_seen_cache.go ├── last_seen_cache_test.go ├── time_cache.go └── util.go ├── topic.go ├── topic_test.go ├── trace.go ├── trace_test.go ├── tracer.go ├── validation.go ├── validation_builtin.go ├── validation_builtin_test.go ├── validation_test.go └── version.json /.circleci/config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.circleci/config.yml -------------------------------------------------------------------------------- /.codecov.yml: -------------------------------------------------------------------------------- 1 | github_checks: 2 | annotations: false 3 | -------------------------------------------------------------------------------- /.github/labels.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/labels.yml -------------------------------------------------------------------------------- /.github/workflows/generated-pr.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/workflows/generated-pr.yml -------------------------------------------------------------------------------- /.github/workflows/go-check.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/workflows/go-check.yml -------------------------------------------------------------------------------- /.github/workflows/go-test-config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/workflows/go-test-config.json -------------------------------------------------------------------------------- /.github/workflows/go-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/workflows/go-test.yml -------------------------------------------------------------------------------- /.github/workflows/label-syncer.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/workflows/label-syncer.yml -------------------------------------------------------------------------------- /.github/workflows/release-check.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/workflows/release-check.yml -------------------------------------------------------------------------------- /.github/workflows/releaser.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/workflows/releaser.yml -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/workflows/stale.yml -------------------------------------------------------------------------------- /.github/workflows/tagpush.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.github/workflows/tagpush.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/LICENSE -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/README.md -------------------------------------------------------------------------------- /backoff.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/backoff.go -------------------------------------------------------------------------------- /backoff_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/backoff_test.go -------------------------------------------------------------------------------- /blacklist.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/blacklist.go -------------------------------------------------------------------------------- /blacklist_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/blacklist_test.go -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | range: "50...100" 3 | comment: off 4 | -------------------------------------------------------------------------------- /comm.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/comm.go -------------------------------------------------------------------------------- /compat/compat.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/compat/compat.pb.go -------------------------------------------------------------------------------- /compat/compat.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/compat/compat.proto -------------------------------------------------------------------------------- /compat_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/compat_test.go -------------------------------------------------------------------------------- /discovery.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/discovery.go -------------------------------------------------------------------------------- /discovery_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/discovery_test.go -------------------------------------------------------------------------------- /doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/doc.go -------------------------------------------------------------------------------- /extensions.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/extensions.go -------------------------------------------------------------------------------- /floodsub.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/floodsub.go -------------------------------------------------------------------------------- /floodsub_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/floodsub_test.go -------------------------------------------------------------------------------- /fuzz_helpers_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/fuzz_helpers_test.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/go.sum -------------------------------------------------------------------------------- /gossip_tracer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/gossip_tracer.go -------------------------------------------------------------------------------- /gossip_tracer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/gossip_tracer_test.go -------------------------------------------------------------------------------- /gossipsub.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/gossipsub.go -------------------------------------------------------------------------------- /gossipsub_connmgr_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/gossipsub_connmgr_test.go -------------------------------------------------------------------------------- /gossipsub_feat.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/gossipsub_feat.go -------------------------------------------------------------------------------- /gossipsub_feat_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/gossipsub_feat_test.go -------------------------------------------------------------------------------- /gossipsub_matchfn_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/gossipsub_matchfn_test.go -------------------------------------------------------------------------------- /gossipsub_spam_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/gossipsub_spam_test.go -------------------------------------------------------------------------------- /gossipsub_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/gossipsub_test.go -------------------------------------------------------------------------------- /internal/gologshim/gologshim.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/internal/gologshim/gologshim.go -------------------------------------------------------------------------------- /internal/merkle/example.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/internal/merkle/example.go -------------------------------------------------------------------------------- /maintainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/maintainer.json -------------------------------------------------------------------------------- /mcache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/mcache.go -------------------------------------------------------------------------------- /mcache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/mcache_test.go -------------------------------------------------------------------------------- /messagebatch.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/messagebatch.go -------------------------------------------------------------------------------- /midgen.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/midgen.go -------------------------------------------------------------------------------- /notify_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/notify_test.go -------------------------------------------------------------------------------- /partialmessages/bitmap/bitmap.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/partialmessages/bitmap/bitmap.go -------------------------------------------------------------------------------- /partialmessages/invariants.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/partialmessages/invariants.go -------------------------------------------------------------------------------- /partialmessages/partialmsgs.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/partialmessages/partialmsgs.go -------------------------------------------------------------------------------- /partialmessages/partialmsgs_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/partialmessages/partialmsgs_test.go -------------------------------------------------------------------------------- /pb/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/pb/Makefile -------------------------------------------------------------------------------- /pb/rpc.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/pb/rpc.pb.go -------------------------------------------------------------------------------- /pb/rpc.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/pb/rpc.proto -------------------------------------------------------------------------------- /pb/slog.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/pb/slog.go -------------------------------------------------------------------------------- /pb/trace.pb.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/pb/trace.pb.go -------------------------------------------------------------------------------- /pb/trace.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/pb/trace.proto -------------------------------------------------------------------------------- /peer_gater.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/peer_gater.go -------------------------------------------------------------------------------- /peer_gater_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/peer_gater_test.go -------------------------------------------------------------------------------- /peer_notify.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/peer_notify.go -------------------------------------------------------------------------------- /pubsub.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/pubsub.go -------------------------------------------------------------------------------- /pubsub_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/pubsub_test.go -------------------------------------------------------------------------------- /randomsub.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/randomsub.go -------------------------------------------------------------------------------- /randomsub_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/randomsub_test.go -------------------------------------------------------------------------------- /rpc_queue.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/rpc_queue.go -------------------------------------------------------------------------------- /rpc_queue_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/rpc_queue_test.go -------------------------------------------------------------------------------- /score.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/score.go -------------------------------------------------------------------------------- /score_params.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/score_params.go -------------------------------------------------------------------------------- /score_params_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/score_params_test.go -------------------------------------------------------------------------------- /score_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/score_test.go -------------------------------------------------------------------------------- /sign.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/sign.go -------------------------------------------------------------------------------- /sign_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/sign_test.go -------------------------------------------------------------------------------- /subscription.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/subscription.go -------------------------------------------------------------------------------- /subscription_filter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/subscription_filter.go -------------------------------------------------------------------------------- /subscription_filter_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/subscription_filter_test.go -------------------------------------------------------------------------------- /tag_tracer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/tag_tracer.go -------------------------------------------------------------------------------- /tag_tracer_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/tag_tracer_test.go -------------------------------------------------------------------------------- /testextension.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/testextension.go -------------------------------------------------------------------------------- /timecache/first_seen_cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/timecache/first_seen_cache.go -------------------------------------------------------------------------------- /timecache/first_seen_cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/timecache/first_seen_cache_test.go -------------------------------------------------------------------------------- /timecache/last_seen_cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/timecache/last_seen_cache.go -------------------------------------------------------------------------------- /timecache/last_seen_cache_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/timecache/last_seen_cache_test.go -------------------------------------------------------------------------------- /timecache/time_cache.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/timecache/time_cache.go -------------------------------------------------------------------------------- /timecache/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/timecache/util.go -------------------------------------------------------------------------------- /topic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/topic.go -------------------------------------------------------------------------------- /topic_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/topic_test.go -------------------------------------------------------------------------------- /trace.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/trace.go -------------------------------------------------------------------------------- /trace_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/trace_test.go -------------------------------------------------------------------------------- /tracer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/tracer.go -------------------------------------------------------------------------------- /validation.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/validation.go -------------------------------------------------------------------------------- /validation_builtin.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/validation_builtin.go -------------------------------------------------------------------------------- /validation_builtin_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/validation_builtin_test.go -------------------------------------------------------------------------------- /validation_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libp2p/go-libp2p-pubsub/HEAD/validation_test.go -------------------------------------------------------------------------------- /version.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "v0.15.0" 3 | } 4 | --------------------------------------------------------------------------------